---
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

xos_gui:
  enabled: true

# Docker images
# YAML variable names can't contain `-`, so substituted with `_`
images:
  xos_core:
    repository: 'xosproject/xos-core'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  xos_chameleon:
    repository: 'xosproject/chameleon'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  xos_tosca:
    repository: 'xosproject/xos-tosca'
    tag: '1.1.5'
    pullPolicy: 'Always'

  xos_api_tester:
    repository: 'xosproject/xos-api-tester'
    tag: 'master'
    pullPolicy: 'Always'

global:
  registry: ""

loglevel: "DEBUG"

# NodePorts
xos_chameleonNodePort: 30006
xos_toscaNodePort: 30007
xos_prometheusNodePort: 30009
xos_core_gRPCSecureNodePort: 30010
xos_core_gRPCInsecureNodePort: 30011

# XOS Admin username/password
xosAdminUser: 'admin@opencord.org'
xosAdminPassword: 'letmein'
xosAdminFirstname: 'XOS'
xosAdminLastname: 'Admin'

# CORD site names
cordSiteName: mysite

# Database name/username/password for XOS and the xos-db subchart
xosDBName: 'xos'
xosDBUser: 'postgres'
xosDBPassword: 'password'

xos-db:
  xosDBName: 'xos'
  xosDBUser: 'postgres'
  xosDBPassword: 'password'

# certs created on: Thu Dec 13 23:16:51 MST 2018
ca_cert_chain: |
  LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQxakNDQXI2Z0F3SUJBZ0lKQUt4T2h4
  bzZuMDVhTUEwR0NTcUdTSWIzRFFFQkN3VUFNSGd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZ
  RFZRUUlEQXBEWVd4cFptOXlibWxoTVJNd0VRWURWUVFIREFwTlpXNXNieUJRWVhKcgpNUXd3
  Q2dZRFZRUUtEQU5QVGtZeEZUQVRCZ05WQkFzTURGUmxjM1JwYm1jZ1QyNXNlVEVhTUJnR0Ex
  VUVBd3dSClEwOVNSQ0JVWlhOMElGSnZiM1FnUTBFd0hoY05NVGd4TWpFME1EWXhOalV4V2hj
  Tk1Ua3hNakUxTURZeE5qVXgKV2pCNE1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQXdL
  UTJGc2FXWnZjbTVwWVRFVE1CRUdBMVVFQnd3SwpUV1Z1Ykc4Z1VHRnlhekVNTUFvR0ExVUVD
  Z3dEVDA1R01SVXdFd1lEVlFRTERBeFVaWE4wYVc1bklFOXViSGt4CkdqQVlCZ05WQkFNTUVV
  TlBVa1FnVkdWemRDQlNiMjkwSUVOQk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQVE4
  QU1JSUJDZ0tDQVFFQXhQMEpSNWl3dTdOWFhqb3RPTUJPaGtrcmkvaDdYTlBEYnZ1bTJNT2Zr
  Ri8xNHFMWApEdTE1REprU1ZkMTNMSjh6dW9mTUpoSUgzSHZtS2QwZitMeVd6UkQ2UWhnTHl2
  blMybnJmZFFVYXNuRDgxbnpPCmUxL3ZTT1dHZThsczV0WS8zV3FUNWhHdkRkRDhDTmRNSzYx
  V01vM242dzRCZHR1ZzZYbTdrS2ZPOW92YmRiNjQKdUxzVWNmMk9jUGx3bVJ4b0VPWlMzYlJ5
  UmM4VE5obFpWL1RwTkMyMkRHVFNwSUxkMXh0VVJLU0FYSHlxREducgpQQmQyYUE1aFhYbjFn
  Zkt2YVhxR2xZVEZGRXRJbkVxdEtzRFp5WXVSb1NyOFpBdXpObWVwcVZ0MHlvRFFseXVLCmlO
  STFiNVBUNDFYV0dlTVNTSFoxN2hXbEt3RGdIcWdzR0FYWGpRSURBUUFCbzJNd1lUQWRCZ05W
  SFE0RUZnUVUKTEJrNzNkc20reHpZY01weG1rQ3BCa1BwNWMwd0h3WURWUjBqQkJnd0ZvQVVM
  Qms3M2RzbSt4elljTXB4bWtDcApCa1BwNWMwd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0Jn
  TlZIUThCQWY4RUJBTUNBWVl3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFISDRSazFJUUhQ
  Z1UvSElPalJPdjZUeWNlcUVTblVFL2UyV2NycUFZNU9Hc0JuWC9iTXAKNkhVZHU1N0dPT1Bt
  WUhseWY4aUE0bHNtYkVIYjZQL3NudWI0SlhmcVh2WS9mVkk5TXZGc3FjazJrcDhOeFhrLwpB
  cUN0R29Qdjk1UGJ0UEVqbWIrRmErOHpoaTlDSkMzSktEek91TFZnSWI0bDdKRStpREpSYitr
  Z2Jpelp1VFFkCk1VRFB3Y2tLU24rd1ZMUjRENU5vSDVhOGswaGFDMll3N3dBVSsraVFZS3Vp
  bWRlaUowWEJ5cTlHdXBoM29PL3AKUGJHb1VZc2diRW5FRmhSVUREQXd1M0M5Nlk0SnhaVVFX
  WUo5OVBvWHYrNnZ3ckw1V0NtdExuVkxLcGsya08wKwpXOUVLNUJ1c1E3RXN6ZkE3TzJ0NE10
  V2NtcmVpMHBlMFBZRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=

secrets:
  core_api_cert: |
    Q2VydGlmaWNhdGU6CiAgICBEYXRhOgogICAgICAgIFZlcnNpb246IDMgKDB4MikKICAgICAg
    ICBTZXJpYWwgTnVtYmVyOiA0MDk2ICgweDEwMDApCiAgICBTaWduYXR1cmUgQWxnb3JpdGht
    OiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgogICAgICAgIElzc3VlcjogQz1VUywgU1Q9Q2Fs
    aWZvcm5pYSwgTD1NZW5sbyBQYXJrLCBPPU9ORiwgT1U9VGVzdGluZyBPbmx5LCBDTj1DT1JE
    IFRlc3QgUm9vdCBDQQogICAgICAgIFZhbGlkaXR5CiAgICAgICAgICAgIE5vdCBCZWZvcmU6
    IERlYyAxNCAwNjoxNjo1MSAyMDE4IEdNVAogICAgICAgICAgICBOb3QgQWZ0ZXIgOiBEZWMg
    MTUgMDY6MTY6NTEgMjAxOSBHTVQKICAgICAgICBTdWJqZWN0OiBDPVVTLCBTVD1DYWxpZm9y
    bmlhLCBMPU1lbmxvIFBhcmssIE89T05GLCBPVT1UZXN0aW5nIE9ubHksIENOPXhvcy1jb3Jl
    CiAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86CiAgICAgICAgICAgIFB1YmxpYyBL
    ZXkgQWxnb3JpdGhtOiByc2FFbmNyeXB0aW9uCiAgICAgICAgICAgICAgICBQdWJsaWMtS2V5
    OiAoMjA0OCBiaXQpCiAgICAgICAgICAgICAgICBNb2R1bHVzOgogICAgICAgICAgICAgICAg
    ICAgIDAwOmIzOmUyOjM1OjMxOmUwOjZmOmIzOmIwOjg1OjAzOjUzOjE3Ojk1OjVhOgogICAg
    ICAgICAgICAgICAgICAgIGE5OjkzOmRmOjRjOmQ0OjU0OjA5OjY3OjFmOjMzOmJlOjMzOmYy
    OmM1OjRmOgogICAgICAgICAgICAgICAgICAgIDk0OjZhOjRlOjk1OmFjOmUyOmUxOmViOjEw
    OjM3OjJhOjFmOjljOjRlOjE0OgogICAgICAgICAgICAgICAgICAgIDJjOmJjOjFkOmE3OjQy
    OjA1OmEwOjhiOjdkOjRmOmYwOjU1OmI2OjQwOjU4OgogICAgICAgICAgICAgICAgICAgIGVl
    OmFhOjIzOjFiOmQ0OmY3OjI1OmFlOjI3OmJkOjA2Ojc2OjkyOjQ4OjczOgogICAgICAgICAg
    ICAgICAgICAgIDEwOjkxOjgwOmQxOjMzOmFhOjUyOjNmOjI0OjQwOjBlOjg0OmZjOjM2OjI1
    OgogICAgICAgICAgICAgICAgICAgIDIwOjRjOjFkOjlhOmU1OjVlOmJjOmYzOjlmOjgwOjk2
    OmQ5OmMyOmVjOjUyOgogICAgICAgICAgICAgICAgICAgIDM1OmQ0OjFkOmVkOjdjOjk4OjJi
    OmM2OjI3OjNiOjY0OjllOmQwOjQ3OjI4OgogICAgICAgICAgICAgICAgICAgIDQ2Ojc2OmU2
    OmVhOmQwOjU4OjMyOmMxOmE5OjVlOjg2Ojc1OjhjOjJlOjYxOgogICAgICAgICAgICAgICAg
    ICAgIGVmOmRiOmM5OjViOmRhOjQ3Ojg1OjJiOjRiOmY5OjMxOjYzOjc1OjU1OjY1OgogICAg
    ICAgICAgICAgICAgICAgIGU1Ojk3OmEzOjNiOjVjOjcyOjgwOjFhOmUyOjg1OjhmOjc0OmYx
    OjVlOjE4OgogICAgICAgICAgICAgICAgICAgIDk1OjI1OjE5OmQ1Ojk1OmY3OjM5OjE0OjFm
    OjYwOjU4OmI2OmY4OmJjOmE3OgogICAgICAgICAgICAgICAgICAgIDcyOmYwOjFiOmQxOmQy
    OjZiOjYwOmU4OmY0OmY5OmZkOjBiOmUxOjIxOmM0OgogICAgICAgICAgICAgICAgICAgIGM5
    OmEwOjMyOjM0OjM1Ojk2OmJkOjlhOjcyOmJkOjQ1OjQ5OmU2OmMxOjVjOgogICAgICAgICAg
    ICAgICAgICAgIDU4OmY3OjY0OmJiOjU5OjI2OmZkOmNiOmQ3OjlhOjlkOmNkOjNlOjA1OmFj
    OgogICAgICAgICAgICAgICAgICAgIGZhOjVmOmQyOmU3OjMxOjY3OjE4OmVmOmFlOjZlOjQ3
    OjAwOjZmOjJhOjBkOgogICAgICAgICAgICAgICAgICAgIGU2OmU3OjhlOmZhOmZlOjg4OmFj
    OjM5OjQ0Ojg1OjY5OjllOmVmOmQ5OjJjOgogICAgICAgICAgICAgICAgICAgIDQzOmViCiAg
    ICAgICAgICAgICAgICBFeHBvbmVudDogNjU1MzcgKDB4MTAwMDEpCiAgICAgICAgWDUwOXYz
    IGV4dGVuc2lvbnM6CiAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0IEtleSBJZGVudGlmaWVy
    OiAKICAgICAgICAgICAgICAgIDMzOjdGOkU3OjM1OjA3OjMyOkE3OjdBOjM5OkE5OjVEOjNE
    OkMwOjkyOkYwOkNBOjUzOjM1OkZCOjUzCiAgICAgICAgICAgIFg1MDl2MyBBdXRob3JpdHkg
    S2V5IElkZW50aWZpZXI6IAogICAgICAgICAgICAgICAga2V5aWQ6MkM6MTk6M0I6REQ6REI6
    MjY6RkI6MUM6RDg6NzA6Q0E6NzE6OUE6NDA6QTk6MDY6NDM6RTk6RTU6Q0QKICAgICAgICAg
    ICAgICAgIERpck5hbWU6L0M9VVMvU1Q9Q2FsaWZvcm5pYS9MPU1lbmxvIFBhcmsvTz1PTkYv
    T1U9VGVzdGluZyBPbmx5L0NOPUNPUkQgVGVzdCBSb290IENBCiAgICAgICAgICAgICAgICBz
    ZXJpYWw6QUM6NEU6ODc6MUE6M0E6OUY6NEU6NUEKCiAgICAgICAgICAgIFg1MDl2MyBCYXNp
    YyBDb25zdHJhaW50czogCiAgICAgICAgICAgICAgICBDQTpGQUxTRQogICAgICAgICAgICBY
    NTA5djMgS2V5IFVzYWdlOiBjcml0aWNhbAogICAgICAgICAgICAgICAgRGlnaXRhbCBTaWdu
    YXR1cmUsIEtleSBFbmNpcGhlcm1lbnQKICAgICAgICAgICAgWDUwOXYzIEV4dGVuZGVkIEtl
    eSBVc2FnZTogCiAgICAgICAgICAgICAgICBUTFMgV2ViIFNlcnZlciBBdXRoZW50aWNhdGlv
    bgogICAgICAgICAgICBYNTA5djMgU3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lOiAKICAgICAg
    ICAgICAgICAgIEROUzp4b3MtY29yZSwgRE5TOnhvcy1jb3JlLmRlZmF1bHQsIEROUzp4b3Mt
    Y29yZS5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsCiAgICBTaWduYXR1cmUgQWxnb3JpdGht
    OiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgogICAgICAgICA3ZDo2ZDpjNzo3YTowNDowOTo2
    ZTozZTpmOToyZTo2MTo1OTo0YTpjNTo5MDo0Nzo2NDpjNToKICAgICAgICAgMTQ6MWY6Zjk6
    ZDY6MjU6MWQ6YTk6YzU6OTc6NTU6ZmY6Mjg6ZWY6MWE6ZjU6OWM6YWM6M2E6CiAgICAgICAg
    IDA2OmVhOjZmOjAyOmVjOmVkOjYwOmU0OjYwOjhlOjJlOmU0OjA1OmVmOmYyOmE5OjRkOjI2
    OgogICAgICAgICBlYjpjZTphNzpjMToxMzo4MjozMTo0YzoxZTpjMzo3OToxODo5ZTpkNzox
    NDpiYzoyMjo4YzoKICAgICAgICAgNWM6NmI6MGY6ZDk6MjQ6ZTU6ZmY6YjU6OWQ6MmQ6M2I6
    MDU6M2I6ZDU6M2E6OGY6YjA6M2U6CiAgICAgICAgIDk4OmE5OjUxOmRiOmE5OjhlOjdlOjNi
    Ojc2OjFhOmU4OmY4OjQxOjM3OjUxOjIxOjUzOjNjOgogICAgICAgICA0OToyMjo1NzowMzo0
    YjowNDoxZDplOTpiZDpkNzo0Nzo5Mjo0YjpkNzoyYToyYTo1ZDo3YzoKICAgICAgICAgZmI6
    ZDg6ZTc6MTY6ZGY6YTM6Y2E6Yzc6YzY6NjA6ZjA6NTk6NWE6MTI6YWQ6NDE6MmU6NTE6CiAg
    ICAgICAgIGY5OmNiOjJkOjU3Ojc1OmMwOjM5OjlmOjRiOmZiOjEyOjk5OjZkOjkwOjUxOmMy
    OjA4OjY1OgogICAgICAgICBhNjoxMDpiMzoyZjo3Yzo5NzoxNTo0NjowZjphZTo3YzplOTox
    YTo2MzphMjpmOTozMzo3NjoKICAgICAgICAgMGU6NDc6Mjc6YWM6MTY6OWI6Nzc6ZDc6OTI6
    ZDA6OGE6Nzk6OTA6YzI6Y2U6NDQ6YmI6MjU6CiAgICAgICAgIDAzOjljOmUyOmVlOjU1OjFm
    OmIxOjM3OjlhOmNjOmEwOmMyOmYyOjZjOjhhOjkzOmM1OjIyOgogICAgICAgICAwZjphNTpj
    YjpkZDpkNDo0MjoyMDoxODozZDplNzpjYTowYjoyYzpmODo2MjpmMDozZjo2YToKICAgICAg
    ICAgODA6NDQ6OTA6ZmI6YzA6NmY6ODA6YzQ6NDc6NWY6Y2Y6OTQ6ZmY6ZjA6Zjg6NjU6ZGI6
    NjM6CiAgICAgICAgIDkwOjYxOmI1OjkwCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpN
    SUlFc0RDQ0E1aWdBd0lCQWdJQ0VBQXdEUVlKS29aSWh2Y05BUUVMQlFBd2VERUxNQWtHQTFV
    RUJoTUNWVk14CkV6QVJCZ05WQkFnTUNrTmhiR2xtYjNKdWFXRXhFekFSQmdOVkJBY01DazFs
    Ym14dklGQmhjbXN4RERBS0JnTlYKQkFvTUEwOU9SakVWTUJNR0ExVUVDd3dNVkdWemRHbHVa
    eUJQYm14NU1Sb3dHQVlEVlFRRERCRkRUMUpFSUZSbApjM1FnVW05dmRDQkRRVEFlRncweE9E
    RXlNVFF3TmpFMk5URmFGdzB4T1RFeU1UVXdOakUyTlRGYU1HOHhDekFKCkJnTlZCQVlUQWxW
    VE1STXdFUVlEVlFRSURBcERZV3hwWm05eWJtbGhNUk13RVFZRFZRUUhEQXBOWlc1c2J5QlEK
    WVhKck1Rd3dDZ1lEVlFRS0RBTlBUa1l4RlRBVEJnTlZCQXNNREZSbGMzUnBibWNnVDI1c2VU
    RVJNQThHQTFVRQpBd3dJZUc5ekxXTnZjbVV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJ
    QkR3QXdnZ0VLQW9JQkFRQ3o0alV4CjRHK3pzSVVEVXhlVldxbVQzMHpVVkFsbkh6TytNL0xG
    VDVScVRwV3M0dUhyRURjcUg1eE9GQ3k4SGFkQ0JhQ0wKZlUvd1ZiWkFXTzZxSXh2VTl5V3VK
    NzBHZHBKSWN4Q1JnTkV6cWxJL0pFQU9oUHcySlNCTUhacmxYcnp6bjRDVwoyY0xzVWpYVUhl
    MThtQ3ZHSnp0a250QkhLRVoyNXVyUVdETEJxVjZHZFl3dVllL2J5VnZhUjRVclMva3hZM1ZW
    ClplV1hvenRjY29BYTRvV1BkUEZlR0pVbEdkV1Y5emtVSDJCWXR2aThwM0x3RzlIU2EyRG85
    UG45QytFaHhNbWcKTWpRMWxyMmFjcjFGU2ViQlhGajNaTHRaSnYzTDE1cWR6VDRGclBwZjB1
    Y3haeGp2cm01SEFHOHFEZWJuanZyKwppS3c1UklWcG51L1pMRVByQWdNQkFBR2pnZ0ZMTUlJ
    QlJ6QWRCZ05WSFE0RUZnUVVNMy9uTlFjeXAzbzVxVjA5CndKTHd5bE0xKzFNd2dhb0dBMVVk
    SXdTQm9qQ0JuNEFVTEJrNzNkc20reHpZY01weG1rQ3BCa1BwNWMyaGZLUjYKTUhneEN6QUpC
    Z05WQkFZVEFsVlRNUk13RVFZRFZRUUlEQXBEWVd4cFptOXlibWxoTVJNd0VRWURWUVFIREFw
    TgpaVzVzYnlCUVlYSnJNUXd3Q2dZRFZRUUtEQU5QVGtZeEZUQVRCZ05WQkFzTURGUmxjM1Jw
    Ym1jZ1QyNXNlVEVhCk1CZ0dBMVVFQXd3UlEwOVNSQ0JVWlhOMElGSnZiM1FnUTBHQ0NRQ3NU
    b2NhT3A5T1dqQUpCZ05WSFJNRUFqQUEKTUE0R0ExVWREd0VCL3dRRUF3SUZvREFUQmdOVkhT
    VUVEREFLQmdnckJnRUZCUWNEQVRCSkJnTlZIUkVFUWpCQQpnZ2g0YjNNdFkyOXlaWUlRZUc5
    ekxXTnZjbVV1WkdWbVlYVnNkSUlpZUc5ekxXTnZjbVV1WkdWbVlYVnNkQzV6CmRtTXVZMngx
    YzNSbGNpNXNiMk5oYkRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWZXM0hlZ1FKYmo3NUxt
    RloKU3NXUVIyVEZGQi81MWlVZHFjV1hWZjhvN3hyMW5LdzZCdXB2QXV6dFlPUmdqaTdrQmUv
    eXFVMG02ODZud1JPQwpNVXdldzNrWW50Y1V2Q0tNWEdzUDJTVGwvN1dkTFRzRk85VTZqN0Er
    bUtsUjI2bU9manQyR3VqNFFUZFJJVk04ClNTSlhBMHNFSGVtOTEwZVNTOWNxS2wxOCs5am5G
    dCtqeXNmR1lQQlpXaEt0UVM1Uitjc3RWM1hBT1o5TCt4S1oKYlpCUndnaGxwaEN6TDN5WEZV
    WVBybnpwR21PaStUTjJEa2NuckJhYmQ5ZVMwSXA1a01MT1JMc2xBNXppN2xVZgpzVGVhektE
    QzhteUtrOFVpRDZYTDNkUkNJQmc5NThvTExQaGk4RDlxZ0VTUSs4QnZnTVJIWDgrVS8vRDRa
    ZHRqCmtHRzFrQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
  core_api_key: |
    LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBcytJMU1l
    QnZzN0NGQTFNWGxWcXBrOTlNMUZRSlp4OHp2alB5eFUrVWFrNlZyT0xoCjZ4QTNLaCtjVGhR
    c3ZCMm5RZ1dnaTMxUDhGVzJRRmp1cWlNYjFQY2xyaWU5Qm5hU1NITVFrWURSTTZwU1B5UkEK
    RG9UOE5pVWdUQjJhNVY2ODg1K0FsdG5DN0ZJMTFCM3RmSmdyeGljN1pKN1FSeWhHZHVicTBG
    Z3l3YWxlaG5XTQpMbUh2MjhsYjJrZUZLMHY1TVdOMVZXWGxsNk03WEhLQUd1S0ZqM1R4WGhp
    VkpSblZsZmM1RkI5Z1dMYjR2S2R5CjhCdlIwbXRnNlBUNS9RdmhJY1RKb0RJME5aYTltbks5
    UlVubXdWeFk5MlM3V1NiOXk5ZWFuYzArQmF6Nlg5TG4KTVdjWTc2NXVSd0J2S2czbTU0NzYv
    b2lzT1VTRmFaN3YyU3hENndJREFRQUJBb0lCQVFDb1c3MWgweWQ0ekd1Ugpzd0ZObmk4ODRU
    QXRRZ0lTN0Jjbm04TktmTEx4MUY4dUVxTlR1RGVKUzFDbG15aExZSTJjczF1UmNsV1JJUWVV
    CnJpZWlRWDNaRXYvSFFoWWVxSGM5SzhTRUNrYkN6bFJ3R0dPRHMxL0M1WGlYQk5abWV3YnFG
    WXpxb3lGV3daTHoKMXBiaG1DTFFNUVBicHZCVXlSTTZVZUhQNGR5UGQzMXVlWGI1MTFROVF3
    TGJqRUVzWkdsODdmY0NCQVF1RzlybQozcHNiZDhxTXZSdG14RnMxMkRvNmRCRHFNS3pjRjBk
    Z29vSkE5VnpIWlRZTjFJSlR6N1FYZVFRVjY0dFlpNklZCitLdWtCemxTblVUekdJT2l2NlpT
    YXpBbXcyaFhYck1WV0g2QzB1ZHgwbnFWUlc1ZVdzdGxCeitia2hwb0VNY2sKSjMzUHhTM0JB
    b0dCQU9JSWh3UklEdG4yYmh6TlNhMzdtSFFQeithWGk2ZHRNdzFZK1pqSm1Kc01sWjRDV3Fl
    Rwo1K0ltenlSKzZYcWhSYklJYjlaaUlMcDAzUGxqZmlXM3BKYjRscE1pd3Rvd3lwaVZIaTht
    ZFI5cU1JcGU4NlpNCmxkYndlMk9VS2ovNGxTK3RXNXlTWHI2T3N4Wjc0eE12OFJ5amFYb0o3
    VHdPTk1YclhRNThVbE9iQW9HQkFNdTcKWVVwVFM3MWExRjh6cU5KSXFUeWZNaEFLS0lOOUdh
    eHY1V0FjQTJIWlN0SDE4dXl5N0cxR2VyN0tFek8zeHBwMwo2TVRENThCK09pcTFMS09CWnln
    VENnVnlRbmFvVndGNyszOFZqK3JFUkRVcUMwUzdOOS9GbkFiaUJkT3RkRzkwCkxETmswbDdp
    SHh2bEg5MXRGeFRvVXlCM2hwWkRtd3liNTJlL1NSM3hBb0dCQU5rclprWDMwY1ViWHdwdk55
    WmgKZ0VXcTE0NXU5bkFEbkRScjAwdzREVmFUVGNGRjg4SFgvVDB0R29LdktUWjRjdFV1QS80
    UHcvQkJ6Zm9TM0tYeQpmc0hLMENsSUVieS9lamdGdGIySmpxaURSMlg2K3RCQjd3bFhmc1hi
    R29qaUZyeDdMSFVQc05ZWGx2dTRSaUV1ClE5UEhNZFZlYWovMFNrSUs5QnF4Mmd1WEFvR0Fj
    Mzd4dzdIKzhRVHArbUtONVZCZDZNa1RGM2E2eXZnRHN2Ym8KWVJqZ2JmdENhRTcyL1dyZGo0
    RnlHbkR5ZTlKR1c5RjRldnZZaVE3R0tPbjJ1V2FsdFZrOXlDS2pQU05uMTZhUwp4OVBRZDdY
    Mk9QRngyL0FLMStmdDhSVDNXcTR0b1BXS0RVU3Q0aTVzbG1MSk1yMGlaYTdqV1RlSmErdzlu
    T05SClIwWnd5L0VDZ1lFQWwrcTNvNVFNRFBrWFhoRmNDOXFMSVZ2SW5sbThqUWpWN0lNMG5s
    cmJTNHBWT3ZOZGRIRlYKYlZlRUY5OXpqM1RkOHFEQXhRSnpKSURzNmZSQnB5d1drQXJ4SlI3
    TzVhSEJJQjlNSVlMcTVQRUEyZEY5d2xjTAo1MHl0VXRCUFp0V1dVMVpPYXdOclBiczk1Q29p
    VGZFanpBcHZTVEhIckdxOVIrKzBlVzlpb3U4PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVkt
    LS0tLQo=
