From dd1d3a05faf60887af54bafda15fb064daba9553 Mon Sep 17 00:00:00 2001 From: Kota Kanbe Date: Thu, 8 Sep 2016 19:18:49 +0900 Subject: [PATCH] High speed scan on Ubuntu/Debian --- .gitignore | 2 + Makefile | 2 +- README.ja.md | 33 ++-- README.md | 31 ++-- cache/bolt.go | 173 ++++++++++++++++++++ cache/bolt_test.go | 134 +++++++++++++++ cache/db.go | 56 +++++++ commands/scan.go | 10 ++ config/config.go | 24 ++- cveapi/cve_client.go | 35 ---- img/vuls-architecture.graphml | 298 +++++++++++++++++++++------------- img/vuls-architecture.png | Bin 78907 -> 78951 bytes img/vuls-scan-flow.graphml | 7 +- img/vuls-scan-flow.png | Bin 86917 -> 87346 bytes scan/base.go | 24 ++- scan/base_test.go | 3 +- scan/debian.go | 227 +++++++++++++++++--------- scan/debian_test.go | 102 +++++++++++- scan/freebsd.go | 23 ++- scan/redhat.go | 45 +++-- scan/redhat_test.go | 19 ++- scan/serverapi.go | 51 +++++- scan/sshutil.go | 2 +- util/util.go | 11 ++ util/util_test.go | 40 +++++ 25 files changed, 1035 insertions(+), 317 deletions(-) create mode 100644 cache/bolt.go create mode 100644 cache/bolt_test.go create mode 100644 cache/db.go diff --git a/.gitignore b/.gitignore index 5c2591bc..d80b0b3b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ vuls *.txt *.json *.sqlite3 +*.db +tags .gitmodules coverage.out issues/ diff --git a/Makefile b/Makefile index f1e0d2ff..7b6d761d 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ clean SRCS = $(shell git ls-files '*.go') -PKGS = ./. ./config ./models ./report ./cveapi ./scan ./util ./commands +PKGS = ./. ./config ./models ./report ./cveapi ./scan ./util ./commands ./cache all: test diff --git a/README.ja.md b/README.ja.md index 550b1330..31481e0a 100644 --- a/README.ja.md +++ b/README.ja.md @@ -301,22 +301,24 @@ $ vuls tui # Performance Considerations - Ubuntu, Debian -アップデート対象のパッケージが沢山ある場合は、毎回apt-get changelogするので遅いし、スキャン対象サーバのリソースを消費する。 +`apt-get changelog`でアップデート対象のパッケージのチェンジログを取得し、含まれるCVE IDをパースする。 +アップデート対象のパッケージが沢山ある場合、チェンジログの取得に時間がかかるので、初回のスキャンは遅い。 +ただ、2回目以降はキャッシュしたchangelogを使うので速くなる。 - CentOS -アップデート対象すべてのchangelogを一度で取得しパースする。スキャンスピードは高速、サーバリソース消費量は小さい。 +アップデート対象すべてのchangelogを一度で取得しパースする。スキャンスピードは速い、サーバリソース消費量は小さい。 - Amazon, RHEL and FreeBSD 高速にスキャンし、スキャン対象サーバのリソース消費量は小さい。 -| Distribution| Scan Speed | Resource Usage On Target Server | -|:------------|:-------------------|:-------------| -| Ubuntu | Slow | Heavy | -| Debian | Slow | Heavy | -| CentOS | Fast | Light | -| Amazon | Fast | Light | -| RHEL | Fast | Light | -| FreeBSD | Fast | Light | +| Distribution| Scan Speed | +|:------------|:-------------------| +| Ubuntu | 初回は遅い / 2回目以降速い | +| Debian | 初回は遅い / 2回目以降速い | +| CentOS | 速い | +| Amazon | 速い | +| RHEL | 速い | +| FreeBSD | 速い | ---- @@ -340,7 +342,7 @@ web/app server in the same configuration under the load balancer |:------------|-------------------:| | Ubuntu | 12, 14, 16| | Debian | 7, 8| -| RHEL | 4, 5, 6, 7| +| RHEL | 6, 7| | CentOS | 5, 6, 7| | Amazon Linux| All| | FreeBSD | 10| @@ -595,7 +597,6 @@ prepare # Usage: Scan ``` - $ vuls scan -help scan: scan @@ -604,6 +605,7 @@ scan: [-results-dir=/path/to/results] [-cve-dictionary-dbpath=/path/to/cve.sqlite3] [-cve-dictionary-url=http://127.0.0.1:1323] + [-cache-dbpath=/path/to/cache.db] [-cvss-over=7] [-ignore-unscored-cves] [-ssh-external] @@ -626,7 +628,6 @@ scan: [SERVER]... - -ask-key-password Ask ssh privatekey password before scanning -aws-profile string @@ -641,6 +642,8 @@ scan: Azure storage container name -azure-key string Azure account key to use. AZURE_STORAGE_ACCESS_KEY environment variable is used if not specified + -cache-dbpath string + /path/to/cache.db (local cache of changelog for Ubuntu/Debian) (default "$PWD/cache.db") -config string /path/to/toml (default "$PWD/config.toml") -cve-dictionary-dbpath string @@ -649,8 +652,6 @@ scan: http://CVE.Dictionary (default "http://127.0.0.1:1323") -cvss-over float -cvss-over=6.5 means reporting CVSS Score 6.5 and over (default: 0 (means report all)) - -results-dir string - /path/to/results (default "$PWD/results") -debug debug mode -debug-sql @@ -671,6 +672,8 @@ scan: Send report via Slack -report-text Write report to text files ($PWD/results/current) + -results-dir string + /path/to/results (default "$PWD/results") -ssh-external Use external ssh command. Default: Use the Go native implementation ``` diff --git a/README.md b/README.md index b46f63fe..97d5ed85 100644 --- a/README.md +++ b/README.md @@ -297,25 +297,27 @@ see https://github.com/future-architect/vuls/tree/master/setup/docker ---- # Performance Considerations -- on Ubuntu and Debian +- On Ubuntu and Debian Vuls issues `apt-get changelog` for each upgradable packages and parse the changelog. -`apt-get changelog` is slow and resource usage is heavy when there are many updatable packages on target server. +`apt-get changelog` is slow and resource usage is heavy when there are many updatable packages on target server. +Vuls stores these changelogs to KVS([boltdb](https://github.com/boltdb/bolt)). +From the second time on, the scan speed is fast by using the local cache. -- on CentOS +- On CentOS Vuls issues `yum update --changelog` to get changelogs of upgradable packages at once and parse the changelog. Scan speed is fast and resource usage is light. - On Amazon, RHEL and FreeBSD High speed scan and resource usage is light because Vuls can get CVE IDs by using package manager(no need to parse a changelog). -| Distribution| Scan Speed | Resource Usage On Target Server | +| Distribution| Scan Speed | |:------------|:-------------------|:-------------| -| Ubuntu | Slow | Heavy | -| Debian | Slow | Heavy | -| CentOS | Fast | Light | -| Amazon | Fast | Light | -| RHEL | Fast | Light | -| FreeBSD | Fast | Light | +| Ubuntu | First time: Slow / From the second time: Fast | +| Debian | First time: Slow / From the second time: Fast | +| CentOS | Fast | +| Amazon | Fast | +| RHEL | Fast | +| FreeBSD | Fast | ---- @@ -339,7 +341,7 @@ web/app server in the same configuration under the load balancer |:------------|-------------------:| | Ubuntu | 12, 14, 16| | Debian | 7, 8| -| RHEL | 4, 5, 6, 7| +| RHEL | 6, 7| | CentOS | 5, 6, 7| | Amazon Linux| All| | FreeBSD | 10| @@ -603,6 +605,7 @@ scan: [-results-dir=/path/to/results] [-cve-dictionary-dbpath=/path/to/cve.sqlite3] [-cve-dictionary-url=http://127.0.0.1:1323] + [-cache-dbpath=/path/to/cache.db] [-cvss-over=7] [-ignore-unscored-cves] [-ssh-external] @@ -639,6 +642,8 @@ scan: Azure storage container name -azure-key string Azure account key to use. AZURE_STORAGE_ACCESS_KEY environment variable is used if not specified + -cache-dbpath string + /path/to/cache.db (local cache of changelog for Ubuntu/Debian) (default "$PWD/cache.db") -config string /path/to/toml (default "$PWD/config.toml") -cve-dictionary-dbpath string @@ -647,8 +652,6 @@ scan: http://CVE.Dictionary (default "http://127.0.0.1:1323") -cvss-over float -cvss-over=6.5 means reporting CVSS Score 6.5 and over (default: 0 (means report all)) - -results-dir string - /path/to/results (default "$PWD/results") -debug debug mode -debug-sql @@ -669,6 +672,8 @@ scan: Send report via Slack -report-text Write report to text files ($PWD/results/current) + -results-dir string + /path/to/results (default "$PWD/results") -ssh-external Use external ssh command. Default: Use the Go native implementation ``` diff --git a/cache/bolt.go b/cache/bolt.go new file mode 100644 index 00000000..b085c71d --- /dev/null +++ b/cache/bolt.go @@ -0,0 +1,173 @@ +/* Vuls - Vulnerability Scanner +Copyright (C) 2016 Future Architect, Inc. Japan. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package cache + +import ( + "encoding/json" + "fmt" + + "github.com/Sirupsen/logrus" + "github.com/boltdb/bolt" + "github.com/future-architect/vuls/util" +) + +// Bolt holds a pointer of bolt.DB +// boltdb is used to store a cache of Changelogs of Ubuntu/Debian +type Bolt struct { + Path string + Log *logrus.Entry + db *bolt.DB +} + +// SetupBolt opens a boltdb and creates a meta bucket if not exists. +func SetupBolt(path string, l *logrus.Entry) error { + l.Infof("Open boltDB: %s", path) + db, err := bolt.Open(path, 0600, nil) + if err != nil { + return err + } + + b := Bolt{ + Path: path, + Log: l, + db: db, + } + if err = b.createBucketIfNotExists(metabucket); err != nil { + return err + } + + DB = b + return nil +} + +// Close a db. +func (b Bolt) Close() error { + if b.db == nil { + return nil + } + return b.db.Close() +} + +// CreateBucketIfNotExists creates a buket that is specified by arg. +func (b *Bolt) createBucketIfNotExists(name string) error { + return b.db.Update(func(tx *bolt.Tx) error { + _, err := tx.CreateBucketIfNotExists([]byte(name)) + if err != nil { + return fmt.Errorf("Failed to create bucket: %s", err) + } + return nil + }) +} + +// GetMeta gets a Meta Information os the servername to boltdb. +func (b Bolt) GetMeta(serverName string) (meta Meta, found bool, err error) { + err = b.db.View(func(tx *bolt.Tx) error { + bkt := tx.Bucket([]byte(metabucket)) + v := bkt.Get([]byte(serverName)) + if len(v) == 0 { + found = false + return nil + } + if e := json.Unmarshal(v, &meta); e != nil { + return e + } + found = true + return nil + }) + return +} + +// EnsureBuckets puts a Meta information and create a buket that holds changelogs. +func (b Bolt) EnsureBuckets(meta Meta) error { + jsonBytes, err := json.Marshal(meta) + if err != nil { + return fmt.Errorf("Failed to marshal to JSON: %s", err) + } + return b.db.Update(func(tx *bolt.Tx) error { + b.Log.Debugf("Put to meta: %s", meta.Name) + bkt := tx.Bucket([]byte(metabucket)) + if err := bkt.Put([]byte(meta.Name), jsonBytes); err != nil { + return err + } + + // re-create a bucket (bucket name: servername) + bkt = tx.Bucket([]byte(meta.Name)) + if bkt != nil { + b.Log.Debugf("Delete bucket: %s", meta.Name) + if err := tx.DeleteBucket([]byte(meta.Name)); err != nil { + return err + } + b.Log.Debugf("Bucket deleted: %s", meta.Name) + } + b.Log.Debugf("Create bucket: %s", meta.Name) + if _, err := tx.CreateBucket([]byte(meta.Name)); err != nil { + return err + } + b.Log.Debugf("Bucket created: %s", meta.Name) + return nil + }) +} + +// PrettyPrint is for debuging +func (b Bolt) PrettyPrint(meta Meta) error { + return b.db.View(func(tx *bolt.Tx) error { + bkt := tx.Bucket([]byte(metabucket)) + v := bkt.Get([]byte(meta.Name)) + b.Log.Debugf("key:%s, value:%s", meta.Name, v) + + bkt = tx.Bucket([]byte(meta.Name)) + c := bkt.Cursor() + for k, v := c.First(); k != nil; k, v = c.Next() { + b.Log.Debugf("key:%s, len: %d, %s...", + k, len(v), util.Truncate(string(v), 30)) + } + return nil + }) +} + +// GetChangelog get the changelgo of specified packName from the Bucket +func (b Bolt) GetChangelog(servername, packName string) (changelog string, err error) { + err = b.db.View(func(tx *bolt.Tx) error { + bkt := tx.Bucket([]byte(servername)) + if bkt == nil { + return fmt.Errorf("Faild to get Bucket: %s", servername) + } + v := bkt.Get([]byte(packName)) + if v == nil { + changelog = "" + return nil + } + changelog = string(v) + return nil + }) + return +} + +// PutChangelog put the changelgo of specified packName into the Bucket +func (b Bolt) PutChangelog(servername, packName, changelog string) error { + return b.db.Update(func(tx *bolt.Tx) error { + bkt := tx.Bucket([]byte(servername)) + if bkt == nil { + return fmt.Errorf("Faild to get Bucket: %s", servername) + } + if err := bkt.Put([]byte(packName), []byte(changelog)); err != nil { + return err + } + return nil + }) +} diff --git a/cache/bolt_test.go b/cache/bolt_test.go new file mode 100644 index 00000000..a8dad918 --- /dev/null +++ b/cache/bolt_test.go @@ -0,0 +1,134 @@ +/* Vuls - Vulnerability Scanner +Copyright (C) 2016 Future Architect, Inc. Japan. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package cache + +import ( + "os" + "reflect" + "testing" + + "github.com/Sirupsen/logrus" + "github.com/boltdb/bolt" + "github.com/future-architect/vuls/config" + "github.com/future-architect/vuls/models" +) + +const path = "/tmp/vuls-test-cache-11111111.db" +const servername = "server1" + +var meta = Meta{ + Name: servername, + Distro: config.Distro{ + Family: "ubuntu", + Release: "16.04", + }, + Packs: []models.PackageInfo{ + { + Name: "apt", + Version: "1", + }, + }, +} + +func TestSetupBolt(t *testing.T) { + log := logrus.NewEntry(&logrus.Logger{}) + err := SetupBolt(path, log) + if err != nil { + t.Errorf("Failed to setup bolt: %s", err) + } + defer os.Remove(path) + + if err := DB.Close(); err != nil { + t.Errorf("Failed to close bolt: %s", err) + } + + // check if meta bucket exists + db, err := bolt.Open(path, 0600, nil) + if err != nil { + t.Errorf("Failed to open bolt: %s", err) + } + + db.View(func(tx *bolt.Tx) error { + bkt := tx.Bucket([]byte(metabucket)) + if bkt == nil { + t.Errorf("Meta bucket nof found") + } + return nil + }) + +} + +func TestEnsureBuckets(t *testing.T) { + log := logrus.NewEntry(&logrus.Logger{}) + if err := SetupBolt(path, log); err != nil { + t.Errorf("Failed to setup bolt: %s", err) + } + if err := DB.EnsureBuckets(meta); err != nil { + t.Errorf("Failed to ensure buckets: %s", err) + } + defer os.Remove(path) + + m, found, err := DB.GetMeta(servername) + if err != nil { + t.Errorf("Failed to get meta: %s", err) + } + if !found { + t.Errorf("Not Found in meta") + } + if !reflect.DeepEqual(meta, m) { + t.Errorf("expected %v, actual %v", meta, m) + } + if err := DB.Close(); err != nil { + t.Errorf("Failed to close bolt: %s", err) + } + + db, err := bolt.Open(path, 0600, nil) + if err != nil { + t.Errorf("Failed to open bolt: %s", err) + } + db.View(func(tx *bolt.Tx) error { + bkt := tx.Bucket([]byte(servername)) + if bkt == nil { + t.Errorf("Meta bucket nof found") + } + return nil + }) +} + +func TestPutGetChangelog(t *testing.T) { + clog := "changelog-text" + log := logrus.NewEntry(&logrus.Logger{}) + if err := SetupBolt(path, log); err != nil { + t.Errorf("Failed to setup bolt: %s", err) + } + defer os.Remove(path) + + if err := DB.EnsureBuckets(meta); err != nil { + t.Errorf("Failed to ensure buckets: %s", err) + } + if err := DB.PutChangelog(servername, "apt", clog); err != nil { + t.Errorf("Failed to put changelog: %s", err) + } + if actual, err := DB.GetChangelog(servername, "apt"); err != nil { + t.Errorf("Failed to get changelog: %s", err) + } else { + if actual != clog { + t.Errorf("changelog is not same. e: %s, a: %s", clog, actual) + } + } +} diff --git a/cache/db.go b/cache/db.go new file mode 100644 index 00000000..607d7bf7 --- /dev/null +++ b/cache/db.go @@ -0,0 +1,56 @@ +/* Vuls - Vulnerability Scanner +Copyright (C) 2016 Future Architect, Inc. Japan. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +package cache + +import ( + "github.com/future-architect/vuls/config" + "github.com/future-architect/vuls/models" +) + +// DB has a cache instance +var DB Cache + +const metabucket = "changelog-meta" + +// Cache is a interface of cache +type Cache interface { + Close() error + GetMeta(string) (Meta, bool, error) + EnsureBuckets(Meta) error + PrettyPrint(Meta) error + GetChangelog(string, string) (string, error) + PutChangelog(string, string, string) error +} + +// Meta holds a server name, distro information of the scanned server and +// package information that was collected at the last scan. +type Meta struct { + Name string + Distro config.Distro + Packs []models.PackageInfo +} + +// FindPack search a PackageInfo +func (m Meta) FindPack(name string) (pack models.PackageInfo, found bool) { + for _, p := range m.Packs { + if name == p.Name { + return p, true + } + } + return pack, false +} diff --git a/commands/scan.go b/commands/scan.go index 603cc706..a7082b53 100644 --- a/commands/scan.go +++ b/commands/scan.go @@ -47,6 +47,7 @@ type ScanCmd struct { jsonBaseDir string cvedbpath string cveDictionaryURL string + cacheDBPath string cvssScoreOver float64 ignoreUnscoredCves bool @@ -89,6 +90,7 @@ func (*ScanCmd) Usage() string { [-results-dir=/path/to/results] [-cve-dictionary-dbpath=/path/to/cve.sqlite3] [-cve-dictionary-url=http://127.0.0.1:1323] + [-cache-dbpath=/path/to/cache.db] [-cvss-over=7] [-ignore-unscored-cves] [-ssh-external] @@ -140,6 +142,13 @@ func (p *ScanCmd) SetFlags(f *flag.FlagSet) { defaultURL, "http://CVE.Dictionary") + defaultCacheDBPath := filepath.Join(wd, "cache.db") + f.StringVar( + &p.cacheDBPath, + "cache-dbpath", + defaultCacheDBPath, + "/path/to/cache.db (local cache of changelog for Ubuntu/Debian)") + f.Float64Var( &p.cvssScoreOver, "cvss-over", @@ -341,6 +350,7 @@ func (p *ScanCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interface{}) c.Conf.JSONBaseDir = p.jsonBaseDir c.Conf.CveDBPath = p.cvedbpath c.Conf.CveDictionaryURL = p.cveDictionaryURL + c.Conf.CacheDBPath = p.cacheDBPath c.Conf.CvssScoreOver = p.cvssScoreOver c.Conf.IgnoreUnscoredCves = p.ignoreUnscoredCves c.Conf.SSHExternal = p.sshExternal diff --git a/config/config.go b/config/config.go index 35cf89da..a9de9bb9 100644 --- a/config/config.go +++ b/config/config.go @@ -49,6 +49,7 @@ type Config struct { HTTPProxy string `valid:"url"` JSONBaseDir string CveDBPath string + CacheDBPath string AwsProfile string AwsRegion string @@ -69,14 +70,21 @@ func (c Config) Validate() bool { if len(c.JSONBaseDir) != 0 { if ok, _ := valid.IsFilePath(c.JSONBaseDir); !ok { errs = append(errs, fmt.Errorf( - "JSON base directory must be a *Absolute* file path. jsonBaseDir: %s", c.JSONBaseDir)) + "JSON base directory must be a *Absolute* file path. -results-dir: %s", c.JSONBaseDir)) } } if len(c.CveDBPath) != 0 { if ok, _ := valid.IsFilePath(c.CveDBPath); !ok { errs = append(errs, fmt.Errorf( - "SQLite3 DB(Cve Dictionary) path must be a *Absolute* file path. dbpath: %s", c.CveDBPath)) + "SQLite3 DB(Cve Dictionary) path must be a *Absolute* file path. -cve-dictionary-dbpath: %s", c.CveDBPath)) + } + } + + if len(c.CacheDBPath) != 0 { + if ok, _ := valid.IsFilePath(c.CacheDBPath); !ok { + errs = append(errs, fmt.Errorf( + "Cache DB path must be a *Absolute* file path. -cache-dbpath: %s", c.CacheDBPath)) } } @@ -230,7 +238,17 @@ type ServerInfo struct { // used internal LogMsgAnsiColor string // DebugLog Color Container Container - Family string + Distro Distro +} + +// Distro has distribution info +type Distro struct { + Family string + Release string +} + +func (l Distro) String() string { + return fmt.Sprintf("%s %s", l.Family, l.Release) } // IsContainer returns whether this ServerInfo is about container diff --git a/cveapi/cve_client.go b/cveapi/cve_client.go index 22a0db29..eb338381 100644 --- a/cveapi/cve_client.go +++ b/cveapi/cve_client.go @@ -186,41 +186,6 @@ func (api cvedictClient) httpGet(key, url string, resChan chan<- response, errCh } } -// func (api cvedictClient) httpGet(key, url string, query map[string]string, resChan chan<- response, errChan chan<- error) { - -// var body string -// var errs []error -// var resp *http.Response -// f := func() (err error) { -// req := gorequest.New().SetDebug(true).Proxy(api.httpProxy).Get(url) -// for key := range query { -// req = req.Query(fmt.Sprintf("%s=%s", key, query[key])).Set("Content-Type", "application/x-www-form-urlencoded") -// } -// pp.Println(req) -// resp, body, errs = req.End() -// if 0 < len(errs) || resp.StatusCode != 200 { -// errChan <- fmt.Errorf("HTTP error. errs: %v, url: %s", errs, url) -// } -// return nil -// } -// notify := func(err error, t time.Duration) { -// log.Warnf("Failed to get. retrying in %s seconds. err: %s", t, err) -// } -// err := backoff.RetryNotify(f, backoff.NewExponentialBackOff(), notify) -// if err != nil { -// errChan <- fmt.Errorf("HTTP Error %s", err) -// } -// // resChan <- body -// cveDetail := cve.CveDetail{} -// if err := json.Unmarshal([]byte(body), &cveDetail); err != nil { -// errChan <- fmt.Errorf("Failed to Unmarshall. body: %s, err: %s", body, err) -// } -// resChan <- response{ -// key, -// cveDetail, -// } -// } - type responseGetCveDetailByCpeName struct { CpeName string CveDetails []cve.CveDetail diff --git a/img/vuls-architecture.graphml b/img/vuls-architecture.graphml index c85fe548..6b6f7237 100644 --- a/img/vuls-architecture.graphml +++ b/img/vuls-architecture.graphml @@ -222,14 +222,14 @@ ALAS (Amazon) - + - Vuls + Vuls - + @@ -248,7 +248,7 @@ ALAS (Amazon) - + Report @@ -296,6 +296,24 @@ ALAS (Amazon) + + + + + + + Web View +(Vulsrepo) + + + + + + + + + + @@ -319,30 +337,6 @@ ALAS (Amazon) - - - - - - - - - - - - - - SQLite3 - - - - - - - - - - @@ -356,7 +350,7 @@ ALAS (Amazon) - + @@ -379,20 +373,20 @@ ALAS (Amazon) - + - + - go-cve-dictionary + go-cve-dictionary - + @@ -407,12 +401,12 @@ ALAS (Amazon) - - + + - - + + @@ -432,10 +426,10 @@ ALAS (Amazon) - + - + HTTP server @@ -449,7 +443,7 @@ ALAS (Amazon) - + @@ -468,7 +462,7 @@ ALAS (Amazon) - + @@ -496,8 +490,8 @@ ALAS (Amazon) - - + + @@ -514,7 +508,7 @@ ALAS (Amazon) - + @@ -534,7 +528,7 @@ Container - + @@ -562,8 +556,8 @@ Container - - + + @@ -580,7 +574,7 @@ Container - + @@ -599,7 +593,89 @@ Container - + + + + + + + + + + results dir + + + + + + + + + + Folder 7 + + + + + + + + + + + + + + + + JSON + + + + + + + + + + + + + + + + + JSON + + + + + + + + + + + + + + + + + JSON + + + + + + + + + + + + + @@ -636,17 +712,17 @@ Vulnerability data - + - HTTP + HTTP or --cve-dictoianry-dbpath option - + @@ -678,7 +754,7 @@ Vulnerability data - send + send @@ -696,7 +772,7 @@ Vulnerability data - Generate + Generate @@ -714,11 +790,11 @@ Vulnerability data - Detail Information + View Detail Information - + @@ -726,7 +802,7 @@ Vulnerability data - + @@ -744,7 +820,7 @@ Vulnerability data - + @@ -762,7 +838,7 @@ Vulnerability data - + @@ -780,7 +856,7 @@ Vulnerability data - + @@ -790,7 +866,7 @@ Vulnerability data - + @@ -800,13 +876,13 @@ Vulnerability data - + - Insert + Insert @@ -818,44 +894,7 @@ Vulnerability data - - - - - - - Insert -Scan Result - - - - - - - - - - - - - - - - - - Select - - - - - - - - - - - - + @@ -865,7 +904,7 @@ Scan Result - + @@ -883,18 +922,18 @@ Scan Result - - + - --cve-dictoianry-dbpath option + + - + @@ -902,14 +941,13 @@ Scan Result - - + - Select + Select @@ -921,6 +959,48 @@ Scan Result + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/vuls-architecture.png b/img/vuls-architecture.png index ae5afebf22de6ae3c20bb65c9c91659b616b9a2b..eeeb7d2e016aab741e38e18bd515945cb118e58c 100644 GIT binary patch literal 78951 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 z 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 B_t*dc literal 78907 zcmb5WcRba9|39u&-UtoKR#}yh?HGrmB)g34%7}zGwqsO8*<_ECk{Qb0N@a6wviBi- zZ+?%L-q-c{eZJqnzSr&czQj4_^?JUZ&&Ryq?~n6FRauULjGl~$h=@Y|j_f@mBH~-{ zpYK0M;V%(kO}<1#o<#DpH`JYaXX8orl%@}Ak_I>z_ShxFr$Mc(jY?vBQ5Yq7Hu$;r_nx@2{JThky0NA36N_zkmHk z`1=to<>Al&<5x7v;a`U_hd-pNvGaR78=pRXQi!;Q!fr0&JoZt}%i}J%9E)zAYc;mV zA6PwnC`~}c&v_i|iByQfr!K$4@9nPO%U#y!(b&xZ29dW%RQ1~0+RDnx?%liRzB4C+ zwSl*(UdHL>7?aj9(z||Rs;{qK`~{1ZPQ)r38Xhc9G?CQ|Jy^ElYgwl&2kG@T!2IDL9)en9;DH^XaMo)afdoZwVRNW#Y}6KygE zqdt825EmDRJko`WyoMG1MK-K%1PSNmV*&r9JkDPjs#FoE+~4NHQr0pKVOJ;?(njaz zGPAP{)9BL|&%x$NyOW+gDeENmgp`~dSu?z`1i!cVgUZljFMqQzPQuxCu*^B!g&el@ z{q+kH@nhw7c1OPvJU{Qmu?3e4S@u$I=pG^JKi0%mllDxP7#GIy^5x6ke2bK{wCO*8 zO0ZkYflT5#yxv}34<0-awCax{yQY(u`sIsiD4FA2uZg8)W>!{KW~QWB%LSd~U*`>- zoSYUT==hCm9f#cH1T4CId^aHeiy zf}r_5P0e#d9Pv^fgI!$(3XweblNA%)2>Ju5Y9Egh6Pv$&dRqa`f)>|TWb?7K)K$Mz zo53QohE;O|UFfv*I4XkrLAgtQPEJl?q2tr1PvP$`WaV{{^-Z+ii!%YEWO`3CgjfHshg-o-O!K_KKI?t+X3{y!dI3j z6e>1Re6C95@|Wt45}M<8_BMtX=;>kWBb?1=x-!+H2G5*5D`Rz6r?FH%FDN1+B5!eX zX-wQ<_I>7EWo1)?a=Ym>d#>xV+A$t`+d?|@M4q#o{hzgSr#7A&7%&gnGBCu_37D#H zuJ`&XpS#aFq)>LC>7n3M^Y)%hOTLBHQ$1!0rwjSzVMe%}p@V&r-|3dMrnOqzYcrgy z>z@JxDHjyj_}CtGXX&3cG;UV^DDefa3BCf&%tpN9YdYo~D%jpN^3qK84SI-xSOE{8`bkH!UrVrb263=xQ=P(LMpZ-B)1QSIU^~wJ&Kq{?C1bsjKtgrY7fj^d2PQ-~2wqhvsz8-pUfZ zdONg!KQ=0AYGDCZr7k1$gIUtWw-{YFGDTo|Gti!*Vy^J=)vMD|Bt*eYJDIDm+P{B) zvA~t5U+Q3Q!Wr6qCEd95W@;T_Dn)c5w5R6*4Gm4jD^}{d?#oQLjAzfNMhWAd3?f!7 zHj^4pG=ridofa4pL~UNy-K%Y6*`uBmsRu7fJ=wSQbA#C1;B8QlA$VCq!TJgTA6;b^ zGCT4jK;mr4TQ04v7G2G31O5M5`>)OZJoENDt#<_L4rb@(e(m&olb=s*ZfQ~FN2R|| zI&vH$dTk88bt5x0^o;d$Osufw?(S}sGYbpuH0$jzyvL6nJIN@jI#q~^+BD*O(Scp6 zc^1EFASYL2+7zR$t*th8Nzh&A`P@yJ)L%aZ{Wee>f^n3lckjN9l79MK=q+jSxm?G` zAM#ivoTM#-LqblMdvDAKr+(D=-NU>Y$Ed2VE^8|A@Eg(O(C#jFyCa$vVzPo5X%yeF zlXgc|5{e$r7quHxNtt}ENnV|A)^_DsdnDeQ)> zw-u>#R7?!LD@()%_vnVsJG_apv1;_%Ot(OT)WI%h2`%?PS9b&K0z+s{NJ!9_Cnh2C zygIzFz`IpAU+%i0uC5+&O}lE>b+VCeJNYrO^;BO}+$(MgIPo)-YNwxl7!CS$?B2>R zmfW?To}SNo#kTFqN*$jel8TCp>sD=|zMp!^$Ja!&-Jc-on)>{~gQ)+#3)94wLlu(w z_t{>$Zp>#crfLcokf1qPTCz`xb-3-Uf3on;65Ljjj^ybJy2aTP!L19IImg6g`S|h8 z0Se#bwDPRZ;fFrH0oO3{gco+XJLvA$P(=tOwQ8qu*QWbLhM#JwLKnu5$%8u95MR1KxHBE4{PNrTmd{cGv+`{ni;uZlHR?&!)!bzHtlabwtqK}a2zDVJ*H9e3 zU*Kpu->4lY^6Z_*aq)P3zSM4_@!-Lo2x-G!jTKbl5N?z>?RcfsR>U}g(7rJT-jzO! z`TL}=NT}Mnazd|O4c1A;lX71%UHB<$j+1b{r=XB=%kNyrINt{57mLOwBj70E(JOVBgQE+j=2$AR8LR#%7j%`TS^m6%eE}OMr<{L+=A-QCDkH9> z`d?DCA!Na3Rs$vZVtnaPY)b#sz38CX)`NsWhmS*H z(#J3#kkdf*lDmvSh4YK#9(k6Ux;&pNC&%5`_pG;BRDZmt5VxCxRAjUyM>D2N6LvpE zxs`4g(zSjC))^{~mon`)xCbVaxx%P}9WO3J)o0v7h+@8WuLLi35GPU=MJr%>QoJi% zu(qn|Lk^k~9b9q~=NAz0Y2cANgTfRB;yUaTgdlLWyu7>~&XKpINt3!Cqe4HdD`VdY zFYFCLk`j=UX;izlkNU-S>C(%rZ;(_WRnRdokQ_fw%2ZGE^i)aubg9vNe=)Wp#DkLP zLM$4J3lztAWWe5&9w@o;nQ9uQ+f%5D@6ceC6))tg;_ho|8WcRE+heYF(&z%QaP^nJ;`xm2~b8 zCXd~~zyPWf3VOloe0+~66#suqm|eLT13s3a#oK$l!r{L9h5TXqTjA7)!4rz6+XZsg ze1d{;BG$}(S6Kg~UOHeTLW*!XH|3KMg?SCiQr!z*vc2d~Nszes#`tkVPsP`(-_GCU z7ECTC^F4f;meA1+WyJ}*-RUWLC-s>N2mQQ6&q%RNDk1>0M|Y&?H4?`d)3K zh>(&Q3g`vM35Sp6+4$AC?hJOwHoCrg9U2Fu!7vVl5Po*3(98nfjWiQeIO0VVyuV6% zA4TLzExkg93roj8!g3AM*FqYG&)ix;jpK;*h_~R~izrWcTakSLRR35?^>gq7+#h+@ z)(LnWxx+ZKzx9MD@>!^_FKk>mVC<#;yB;D~F_scd;`vW7VsXb?%Bl!Se=xK|WJMj2JzNs1b3OC?Gy@(%08l z6iR1j%3!GM>FBngSFxXN`(zc49M9iV)}|ezKXppl6q67pDk{3Uxmm0Bj0$!h*{jK5 z?_Es1nEhK{-{EBZ++cZMZLP1&5(XXzc7Vux7WXk*Jh0!C#$_zuih=}9B0cvKIh89H z$eXwhYA;Ku#f)cnukyux3J!CyRJ{Eta~C$zwdk%$4ihRdkyVgC8|B))-TG^S z*kXhi|6?{-$~_Fx1$VHSVa#H2jQ`vX@IfSofMxsqYaQ=zgRP8%`Mr3mU#>?C78!g4 zjv0A=&y2!zyjpNaxU<;>uwgXkP$bv?adU6H&73X7ZsejAUWfPpPAGCHM#2>l+ULYk zSOVGyJRXkXJK-sR0m%~lf#lG*S}uXzAb%zz`tLH1=#?Xegat$LMV#XBSFpmCOUQ;T zqV%$as6PT=V%rNIDLRgLB;p&$D`e$zfiZh?=Q<4}+`q@E8GEhGDYgdC#aTSeeg zyVovVs_O6W9~g*VL&ZcxzZ}FY8O6`c%nWscX~W94o}Hbbr0ph|c zm*G$E@9*c8Wa*dkA5>RYU*+P;NK3nQ>lW#De_a@-`E7lDx24fvwOaQC5Q_yP{?*qP zyYc6*!3B~-d9SVg6)o4(+Y4P?M0VNRw`B4OaIE?HYt;b^Au6*}1|0218Me^e zrfa@QOdNsA6bU1q_>uD!{R7|95QFddgkQQX>|52=c2AKC1+f9~8RYT!$1ywWbGcu> zn6)LzAMEdqjg6Vty}NQBI)}Xc{JK79?5UU~dZ7MJR*HRUZVrYLw1i4G{^ofk5AY5p zMGZ;Ubv?jJ0s<&#Uc(ttpXBkk_QrQUL_$zU5*`2%?z}kY5Ovz%WVLfmnWWs~Ora$+ zt4q6|qNt=)x&0>tPzxxkV+wO}-a?Dc50%GbY?etw#JGdF<2>7nkazn z(~+}0{)&7H4wau8g2*fU(sta77dHsDfDYXmpci^defsoiCZ@UR={mIG@5V;|;vxET z=Wb_=k(;qA#G)`90xAVH63e&DG}J?<+kWh65`haM8?wom8orZh(e)YP^Yr5B^{mS? z80bOO!Mt48KLa#^!CW|4sLbf;>7nSQnZVr4Naw=I{4G*&8J2LV+Wt-k28M>!jIVL9$$;0)R`T)j?w0z0UrS%3fc8d@Fhq)Smgws?$y=RA3jthBqXlR&L|Yh+`8QKkq5Wj?yQq%lE zX?tZu1UH0(#@bq^l}U=;i~l)D&kU_(Uadje&e74wp%VP4Wz_BEj*bqU{HH?3wWqAD z7v8^r4~cSib{2rL4>m`MYW1Pq8Vg3sEo`7gq=h$MI$$bEHWx2mba!`Wb6^s)yHF

HhFKos=L(A`R%wkf&AcPc8Cm=mqIqw=}$%-8FSeY{V$R}1njvNDxI<*dI;n|&d)449s|>z*W>?DUfm(NW-i6576qe*`F$wS5 z>>`u<+r(LtaRMwJ5W~xMM~2gu!jkFf=&~Oyao@g8jJ{q$gSab^R`$)UING|tN)IXA z_}ctHY)DycZEZ(~`W*wyFdS|u_eu7fuoV5`wN3Xy-i>aI+WwZ#smdxu>qg=g?h56eRCbLTz>({mA;oXTteFNDvKM9{-iCVo-K5%qY3$I7_nJ@oW}J zkG;jMnID{Iq*z9}Wc3Fc8Wc2?=BDaaUh+qB&njm~6Z$>)9ap}S;QUZwcR9zQK^GJh z^f}3}w6|ZBq3zv0Pm>ajyfzJW$oMM1ik84TGJZ_s@|+MilPz0?tA+g78`!% z+gg+8&3*+mPN7^^wmr@7cSP4fiqgtUBB*Jh8f%dv8OFRlCB=ChS;CD_!tn4niFU;! zY}UV*t;HO_HrBbWt-fj`b!aX(6(`U}yDomd=99de6I0S&zu6xUN7Zg0gRYO;Y(`ZR zc!sWs#m2M`mW=`aH7vb|%KHZzB&Zq@$Gf>48WtA)B<5>q4Z2;if>}>jPp@B5h84Y( z^G~!Z>tzg;S6y7oqf?LP^9DzY+v_>pEnpg32r@^G;pAaW_4Vsr<{EW$}63;9{Z`_~s zo0r^~9jas@BvxHu9n-}pNH!=%D<~?;{@c8TgmP{U_m+g0eV2L7?EfY^Up({XndT*m zSEX&))0R`pT1BvUrk3}BdAS}B#veb|>yZphjp+9l zDXmw>jvedy{oAIU0MIYgB$PN}+gXg>#{whu7vrIvQKZ^rR9TjpDF^C3@tV^oU!B6F z2zi?(f2F>R@pd%h7XR~7Yx(NVu#Sd?kUZ?+ zfO%$!7X~+I9&Shb)5B5689P5ZcRto}9{8p2bVqT-WbM~JAV`Jr6g{#1nP54Vv+@QT z^8@nB6?^M_GCq`$@X6eKZ#G1fh~y;HYE_}WH=~w|dCSVoRcz2eraktAW(cWg5AHIX zGhPYw@$q@}inu-O$-{>TyE6GbfA#6@+ttB|Jgp=_4f<6m2ijv0ag3}6FG@->u}ESm zFQ0&72RXe9agGava6kS~!t^xi@y~xk%kU>o?%F12OK`-E&Bc-XiQQ>_8}uL~*n27S zJtfk-gNeVm`~1LNIfW;JYDHm!XM~Xpb6#M%N!(7DEoKmm{dB2n+(N9247P zLiagtzUya?+tHe|s*Ec9hHq-3zTjy;f zp9hw=KLu#n-4m}?@u1L($!!5rj4K%POTZ-{x<|SXV@xQ|IZgRU>w4I* zWK3XIJixu9XWxlKB?WbqILC-~hGr&|shdfRXdhEGKoNE^o)*aelhuWMl$&FUALkm; z+fpww?lhHQWlc0!t2?8}_PYOrVWm4|r)h2Q#RQ=jg@qeA^{1$*skQ0W7lv?pbocJx z$7INwo2RAb1`5C0SOJ!BeQ~kKY3b4-#sY^tPfxu3a>iG!ugal8tqK)$&x)q4BfIir z3r|T^)y=y6vG1=)jL+0{a-h-Z9FBiTNz>lpx3;!4>dy}h3~)`P0Td~mb|xk!Cfp5u z1I*;dj~^o#MiQiIgYGN+rjsnSTahDk`8z)^%;&~d>WYPv@~@)YFI>o7o#|F-AppBt zBio&5KFt5`nX8)HVsP}d^qIeDFY%HRcn0^iCV5)ya$C%O74F>m2Q9aCbJ0D+&rbo1 zl@O3P`Y#NGREp|>8wb1XDcSLng+cvnaXUSzn%e%YSa0!oTCP?7UG3HHFJ$a?i7)>DRh^L z6`@cvCT`trk@7J;jRqsl|7RJ0g|@QN4SY3^`&nTbTijS_yGunsAyj~@S|z5$YCsJ8 z-u6gzArOI^gt-sSw{kBZCdO|ZCQ3&~ zN9=ntVl3sMCBc^dwWO09q+#bac_Tl1VO~1wgf+NXb$|Eb(JvV$_D1YC9= zsa+ymMyJKeTG11)tL0SmgR{LbSVx^`bHjd(vuDp@-!G!x(?SMJb;Zpyflqlb6p+64;s}3TDE@p1zmo$cU}@8{z&1U ztoSIx*wnPQw^!JrtFf~)KQ-0YZ2`(=CPv1oIp|E&)6=2MdpcC%rmal}H}l5Vf%^}N zXR^4>zvbH|Q2+BUfS5joNitkr00IY;2zP3;3@i6%vMa&Js%vT@BO**qO!$7Cpk$<_ zre2->Ef52AztK=1G>pIjO-xRPjss$40?d+N&_3$IPTsS$*tnQ0j--T5F@hOcZwU~t zgPYPcC&qDOqP1E_)8{d4Pa7pje{T$Vs0hsU=En*=QMR$+%Z<}h(%0Yn)0qKnKH15W ztBZ>dhZHW=YFb!Y2JB=?8_-G^PnB>#T8?_ovvn5diZ=h#c%1y)F!8OwFig=rMrwbP zRlwTF=*MQiiqxKL12996p}8CaXiY<-(~5;o+~M=EE6pIZTFT!=T~<@Q!|ffc-asfC z3op){R#EDWg6?~i_|`5&AC2Sw)*8=ntf0X_A~A=Y1PwpZD?jmk9cm?Jvg?Gqe#XSojBXf zBpG>w=EUcIESj|v(!2Nv6===c4TcYI1;#jx*+t8hBxh$2!2vnU^?psXhkyqNKub%@ zdv9QT0N4i%#iI3tcYc2U&27d}0=34poxQzWKztOIT>-Ai8Jg9!e^q+uTk5AQD`?j9 zVl29culrW4D;re@&KUI-MrQ6!`m#dBvYp+3Q>u`XNz981ypx&~5Cd zoS5L#xBIX;5otIT0LcXj2hF(3_r(PTGpRPQ4ziz;h6ttYF}8c)JPA6xmS0vD)gT<` z7Ief5n%mmiE`ytFfWiGVF;-%aW0)Q7%5+tkq?_B>SP&897hdQwd2KB{K9cm)!r8wu zzHIej=OjzX+N_1~v$)`3&mbyT(Med*a_`rZIN}`XM~_Cp!libedA@#~3?1)_#IG+B zPb<|=*v)o0kEga~Xk{xaDYZtRPGM+)i+{N!)$xxm;O-!F8*o{nBW`k#a;_BO`D3S0_2?iQ<#Qci9z zVHX#anD{lsrth?ogehLP%x*2ha)^a;>mmo+RZ}_j#y?7@G3VWOyf?InPf&FWT<2eC zG2ix&PEr0P&}vKc-ubxw*dcK+iOGrZXs)eI1!9n6!fvW1v3@NoHnyg^`ornWE6Xb@ zR7_%d4@W+{VGi@5WEdL97w_u?sBqruRkW-LxA>4hu9pC~OfPM-R)pQGm1q6&nr+}** z9UcAf=~HKpNkee(scJ%M!qQkx`x(IS@{$pTfeC@T(KRTXZn3S23+h>@A0$}#U*x-Y zEsE;u9bl>4+}w_{Jpj~^yR0o#9uyp^a`26fN&Jv_{qc14^g!MTaB~NYQ+>7jU)QvN z#p7(1<3w*L)DCuZc3KaVgolOYVz+EnR8(|&GId4P-DmPGy3Ke)Lqj*`3n8#3M00NW z1qR-JMP{7X@Ox;;17KajcA(KXl+^(_)YXlR77-Rcr&k2o8X9v;A@IB_TY8F${ve1L^1M5^Sqv%Q2Z*e;7|GjzH*WBJ_g2Tl zLl0GYc))`IWBJ6yq^{crcnv{6a7z+4Ha6d7R7K=4CVZ_Jc+L|P^b#KXagGj{V!XVN*}}`r3uKGre=bahdY$|@kPcAfByUt z3`I{Y*7=k@HG&bhLIDhmxJ0 zo#y8UM*t_azbh^#=Du}WEG%OdBP=WoiL(vVRJl)r`k6?e+Cg}xUCjG>e>#C=1Jw5R z_8R);&=`NkZ}1A`lfQobQasPZ5V-QElWXuOu$#d`lE>elSSaMtE4nTuv<4{ovJ)dx zVuPn{T>$htfvB~$mCOO?JwX1VHc_Zsx3O6O`CYj19%}wIQQ|$bjiseTrpRoBb9qtX zRq@g}`;xx?Ku!)nkQxX+bxkmPT+nTM^=ob}IRypawEtz1%&o150M#qe5JSS>&&j4( zXE$Y@64w!gQ%mx^=5I~$&p#J(QFwW?ni+@Z%ut{^e@IG_m63TBf)WzSkBehOh?8Ab zhAo1a{U2&(=4K^aU%6``$TfWs=H`7&W3+(JQZaz!^}kMZC*U*nOACY(ax@<03zZJe z^%bs|6achte!%E9U^6b9(ZY~zZy^fC_9Q7Kg^P=;{SDigxtBIuklNbvatyx-*+Qt0 zMHhDI*ZB|iE2byYZpdmh@SKlJqjYd^c=YIzng0=0&&lwD5ec7>2n54RMgL_!a-`0@ zys=E%Nq(M3(6aa4U=`2ToSaLR;iqw2SFUW01xY!Pe^H?2Ho{S9zCvqFJUxO0Whf%2 zkPyU172Z%^4+=K4+qNA5;$~)35Ui&+fVuOGjqQ7XZ^=9k=Y2>D<=g~e1?lg%G+YvrlHjqmFJc7My4%|q20uO-a(DQl zFIN(T6SZl3SG-c0P}$-!zkBO|Anq}E(<6q%Ns&&(eRPU%zQAp+w@^fYpI?*9hu$5k zuG^8X!QYX~MHkP*nXjriub~j8UQLKfsC%%A9T-K-}7B{U`@g)Q;9xc_k&23;^6Qii(XOXQ<Oj zq-OfNKuo<^ed3jaA9lFtW%uI94TawL6sg%D{Zbnryq2Md@HhEVMovynezs}30gZYB zEWi8x4dTfoX_mctk3QczgVU{am&^@5<~u#YN_S67tI~c(Q(3tgRJ`)rk;$=f7JTnmQl5TS_{D!gfe_0xBdM5!o$PqQh=tRDYFL>rw^1Rl5X4T9ebLC z0gp0hG!VA_6@KsaE=GDgSgk2qK+e!`sJ6DpD2K2e(0Aru8z!N`WqGullXo!q$JhIv z#(~i}IQOU=GnadJ+oQ=vUKV;eE5{BdTk3)lhsG8aiB8K7YZOqGJ;5iiJ&EKs$(BD>zmVVV$F;bvoF0 z6YE$QEFbIp4#ba=lG1mOoihB;&1?bU>;xSh(4Jv?h#$oBmwy|?24j0QH8 zeHA6VYz_Flozvdl9=w&e=oQpXnTD08m|O8325f~@69-Ash=JMll1c3`ZmtnAdx zOrN;u{Gg++AW!y`Rt#;lkz%0MB(s+0B$&%VTHR88|A30geDfGiKuS4e=W$f&*F5JO zOaRUK^BJkBpu*d1ju&qXH7Iwn94y;{904tzdC!+bFEljvrJ%pv-rU@UM7U~gZhplO z7)6x=tATBZu6ZB896(?6wKLSG94IBwM?uPhNL_Ored*r^yvG3DOe21E2pQXf;aBC zSFYifPv>ZAYC;3aCJotaf=gbkGew2PC4BG!Patykmt&N|TH@n$L-TUU+ zm*~N(3ea-S7{7e??%j0(&`Lixb>EtZ1i8DPW=#d#)*N%e84(eY@0_N~H)GkNYGj`q zZKl)c{B=1HNThN@Tlmb<@=0S{*uipPS$%y!1|1!C`Jr-NET~Pay;arK9BdMQ&PIoAt9Gdv&z}xzl%#%FtR-mK z!wex7Q9vSbA95U^f(AX^3lisO>vfFywbBwl)71A<#Ml~q(sR`tOSudc_l4vCvN!Jw zcxEjV)toyS>$g91_~b0t=~btI_r-7z{U8t#Ed%m$(Or4oEsHso?VfnywbEV*mwi7) z3KJSuOgF~Bey)oF_e^EdPi5Pa0&t zKC!sMTgSA-zo8n}sE>E1SsRMPptcXqp7dA2J zG+rBmb6cltI>{jX49b8q-lizNAE0YBg%&$LF0N++aL1g2g4_GWF{`Mbc$<2H6Y*pY z#xF8k$GR&q>_uYhdBf(nDEpE9cHFO%CYj0xp}LPvtUPA7>e@{i=nMJG``q2X)i)I4 zzVgHI!a5Vavb?5R%$HbfxDRpNmmQN4*1@D>RHCpqWJ#Jv^;MnKJNU!j~_sU|uXLV(leg zvBk!IIHKT@Rvu~I)a)Vvt)ZL$l!lhJ_FB-}w*YQ{+T<~|8E`15Q~c*_fCz`P#VSX* zDJvR;?#bb=EgGVYqb#6hZi+GQ=|w5Vj^x@lMJ#MEDU@M%x?Y{vXjZVDt{&5O4a$Cy z+tf#}m<+tCRQ_!4$?j11&_a+xgS*Y%K3B{!6CQ5F(t;I=!aM@kP>(^{AnCIDa8go2 z;&u>oQ)3wZmaHuFrlqB&n4g5;>|VQ~i zOB`~h#D1D|7-yrnx_ua>BAa6)lk_IvZW;4r>P@!g7y`rziodY)xISnhLPOi2#xbja zje)6&hi*L3FbN7mzh?p^93o4=X1SoX0un!qU<}xH?ZmfLu^lhYS_r?+(y82wT@YTW zV^rF2=*E^hFer&%@{q9ob8mOczoBqN7Mza@!)somLyoj3pzHbunf5iL4ggOP<;OT? z_GUG~th%$av%i10&$<$%8()wLIt4qgW=UXAGrOEY8?A7j1Cu{;sOAFHJpsS9y$!Lu z?Isl!)eRgZ`u4WA93B$1Rv2=VxRv5R6YOcvFK4hh%Rh)Nosy=3Rx;7 zqTe~NuUuKUul=jGU+G5lS-y8dsJW5WTyqw&aoGmFKLeK#yJuG0T*_QpS_1t!i-?t; ztn9IxSS_e6+tyKh{37j763xX|n9FyBEt9_rEMKVW4{-HnHf%IY>q}RW@)1s+%Pie^ zt8n*;oK#+yz=K@WZl!0j96N_)pC#D<*NAGDnh~etl=1Iw_xA}eT0=ErZ`C1Bb0Ot9 z=K*7k);QM@A%`m1QTa(sl?e~e(%WRs6@S;`Nj3oXUkYn*xhLlE@(FL>zPaN{v{kXQ zdjt5mO6AV36t0iDSsb+X`99OXz1c9r13RAwPhEAtJk$C4lIf~UOY%Q%GDhyvTq1~b zBVxJ05$IDXjZs9+^m$14%p0{6u04Z#MwwjS=xqDy?0I9`uY@ef6T0Q*x%d;s zNyZW*4E18JgOB_6iR;F_>iZ|eZ$Z)`3YHrebVraO{ysfThd#(pXwFEf3pZtC(yp4A zm_W@P!+Z7WnO!|}NO75=(@JPjQJ|WJ#){$kz(7B)j!?D1$c`)B`x522`or@(kJVVp z^^FI0go-}uYVqywNlK+k;u{7fTS;y{&EQt-dd;RTliRC1vs{%l^5!VFZ4}Rr6&Jko zAa<=8SBes&5D&qwy!C7hspC6~sPl#~ZRUYcv(hs%Vht{Qit|53OI!5t`_av~=YTAS zh8&-D-{dY%7}JBwaXUgSFtp#QNyE|@lu8^y3}b*eymz)ou%^mYGda#row@4x|z~s zEvEd7t99x6WW31h`Sa`;sm_;(eiOutoW7NnmASbB0=%(kxmDoF02V~xhbu*RN%!3- z!K}fQ)QpU<9;CJ1-Fv$n%IGhd(*9whV;bG+qkMnsRn1vvpPcnMsfW#FM5dRyw)9%6 zuMZ}E9>*}qe6SwJt`;wQ7ITk~&-JeXQj#z`TwQCwtjeGC5 zj)Gtkq5^fy7_>F81V22XVsn&SKp+=T2`UERYbaE-b3W9MApN?K|6%>t;2KDtk)af2K#R$DRK@m!h8#CKS z0Yt*C5b@;zP`MCg>TNUK@Q0nKbT!(EkGiZwd8V6!ZF-A~+3CqLFy8z|1 zT|A?>1E>~X@_534R$D%wQMIU;7~H$fTU~_~Xn})my<75=ruem)XRT}Xb16zOsrU`U z@AduRjo7v1CI{L5+MkX2kFkMIE^}q$GxaLN==Q$sENXu`L81J~m<(O(M;fJ2wCySU ztb5-n@!#B?)WXQg&K`n_2Q@#Q0By9Q!7c8<*RQJ~ghy#nP*5l-Dr#ow6}#`bJoSM7 z1b^-PHAQyaf@dfYx5SG(rl+QUQSpZXnHre43uKW}MxtIv>h#Qvb$=1x#fu}*?c8j* zP7Y0t5_^b;ax*q?FH&zjBfH`ZHgecD{RvD3+L%Hubc%e~;A!0m7z& zLo+ckmAmaYY)_BP%*>38jDW<+!a||aDJoE8TftSS(g_AgLFAcsa;qQCbNbR7KfjOk zuPK@8pV+cF+c`sZja@{YRxt?>cNCgjWe+WGlw$`fgL#zykMcZT!0kL;Y!rt-JQ4G`h7#p0}P1 zt7A`=d}z#baSe?L>a^Z+DXAUfH6^X@|Fles)CY3o7FY{oEgKMSl6}>%G>Y;9S$Ak=Cym%pq`O}dG4HT3Qs;&qH4q`GLvxg6dCns+Q zT)6+hEP7=^-apMIC?EhdoXVSwO)aRz^z?e&l<|RLV+Hj$0Rc^r`~X1BgAoH$)ZXNU z><@-iG!+>+=oAWrdC-=$QaCvzSV8jl&>3Au<)E+ z07ntUiu+iYD)jWH;_01He>z<0!PA+nS55i$Vh#n5U!xiQOM5D02+2x9Cj~&3e6M=nlW%;q};AzBCU{e-}Vi50=F~b!;-3Yb`|xs+bkK(0dRO2CjE>D zbo6cX#>xt!n43IKz7ioQBJu=l1&+8XQ1L@9>b3x=L&#>PratQyDy!2a+i>EFJ$wPjWw3Sz2h~?e5 zzCDeU2zK*%^>|!-{MhK|W@sA>I_{=@W=SAcV~mV);Lh+|Nc-HqP%eu7bMI%x*sC~w zijzwHoX$*Q&P%4ZR7}ck3y1r|cgm=i#ay=x?%p2MNYMLU6UP7eOxDVvsma3E9DYY& zu%LUBu^%pVBF{gDNq#|0-`;ZF}F=!uX z_eB9i1mslUNwe?OvoN7+|5(CHaVHKawg$O79WZgFc%36YveEg6pVvUKT~;ILY@?-I zRxdkW{Agy!)3$Izeo%uG?Fgt@dVN<{1doCm&Tm}Bq=|Z6z3Z%eH;4O(+j>grsEP7o z+Gq2lc=w`9k5`Ftjh(L#!@V?F?SPXnfCfI^-e1uo55IXXRO~40>h3`MX{^@a8T#z& z+yFEPshKGEUD5nvWSpCu8hMP6LKsy7ZFWpqzk4;B} z$xhmC8fQhROtw9}GYMLZzrugc_{q%`ycCY#r2ge`@)%*u`hFBUMAv4KA9;?Xq@=TF z&V8?X>>ChZq8IF@aPMAd6n|bD04^7C*R{3@Fuw=k0Bh_sFGL!lC zlpL~<;=Y4AMk8B6ePombCN7=@vcmu-1xS)7)JxpQabc*dv(4dg>E#(#Zu302M#(I% z#y5<67w%5x{H%+ca{Y{}?e~sFW*YP^8II{LZL*K!evqtlQdg*pC7G@#%qYaThk1H0zI%X{@^+dG6w=eN(>@!81dR!z&tuS zIo~m*+O-ML|HCn&T2?YfTrb+K%#aoVBQ?gf&c-D%!0r>GBI320+lW@ z+7^PmZ@#H&-iY>7aRX`^nN(}y1JuOl?7ZRUOv^4S%JZxk4Z3=r=rXpdqmw`D^hVbR z4P9Q^4;~-}Dm^a^QxAV9pZZZF(ELApWbU@-u9p8g$5hMe^313DlO_{k#h7lK<6IY) zs3`3g?EE51ux1fu0}2#JNq3%GQFauKwDBe~LQq{s z#9CT_(ht#V|7jzDRvOBqEg%$qQB{DqltB3;B$W&#Z2rv4CNaB?c9EFtCe`ylNVVqA zb#NmD|0`qns^e?#80!rB*MQWSW|&LAhVFQLB@j1V8H3- znT3FiJU%`iDmLiwWtm2xl04WP3lds$W@lr=jtG@&SV&5`{ZN}vP|&je?IAI-9Dj64 zMw?g5`tnRgQN})3VPL}IC$(6IUT&R0oG6N85@tf8Pa41`UP#%)9654ieSN+EnXY*a zd|L%HX2oKQ#lTsE)L?g_A+qs72k_r9%f%ILI}jr^AI#4F_WH)&5U;OiuR9}TncSMI za`48mk?g_OM>AP6a(IK%=d9WFGTLK2gMGB_POTygDUDG>?Okdzxy8wvm_GM)L+(X! zH;x-(^jZ_NKrsY|Oy-jvY47Ul0xAyR<2P^KFcvqJfb2807{LFwc_XZa{l*b>vdJR& zHWZkA{gjln$lTc2s0iH;V8X>EB{?Y^Gnku(P0h`4iLQ>0XP{()Vi5p$7~=*A>DEGM zf86r&G9?RYJAdeLq0QNnjj7Bh4?9#f^7AVa!6)>iGXhu zxPJNa6x1q$XV0ChCSYD>S2(X!S5>|IEu@nW7A8Zmi{#OVLBDsgvAPo!E6dB592@KF z#oRbXWc$;YE{?<&dOz#QvmZQKnT?L0nMAB4&{6`L0GyA?Fc{u(eoN) zWRaT1($W$dBmmi?d(&ySGzFjaJpbu?8c61($3S$$SACQNll1W6dl2Mi<4N7tfQ7fC z{8dx4(gn$byKYaDFILvRK4$0AAu37C?*|BA7&&ZlRG_wIsId>wr7&Cu&%%mJ+5=W?1$wy zk)J%tMyen$Z{G6$JIsr08JJ*|r!w+_>4K^Vm?4h?HyUA9R#uP*ze3#w#v8d%@F|#R zBpbhcc&!5Kq2_JID+&X*rvwlP6Xai&;Wgh-;^L*n#Q=9i$Hu}D%>ctu87`IS*G=%M zxJy3W3C;%cqSjrQIWkMk$e4jjf~!RGd1?@eWcYwWtELb-M%oGeOJ1h)J>No*`OHNMC-wc{53TBC@Zh~yN%S1iR)s`gr zvv44jB%@#zz-&IUwA43=X8n5;z)PUjmVvKRSP6KZ07ABSYYph10MjR-dO_b-acFtV$|M4DFG0bSER&d( zH9tN+K0iN*4DS(uq@Xb(K_<@+XK(Kx1MG21I;@RJ+yNZ%7ThK8Iz%XU)IImzcZxT} z7=W4edHIHe4foNbysRwBzpuZn8h8&h$yM@Yy!@-FDYMXGC{AL6{QPpie*GTJ`A=AO zRDa|ow2Dyeg2aHxbCTxHQF!lk#OTNmALoT~+hP@EYU2`c|3>VM8!sSGJZ5A^@+a9t zELRPvQ%*vT}Ti9WrJ#e*CX^@SezMj?3CpMiK*{ zUw|3S&B=L=Oh_a1&dQYkz|>%rF{98gxNB2mBeiWeGE(*5@#i?04_DCCjClR}#LX$E zrPbAw|NNs`tA99u2_oniyp6y?+y$89gD*GuY4fnPs|yyO*@35r*>QOM7O50ZCs$Wi zuR!*T7r%FOQ2#r_+$p_ZTyjxNjQ*nCHQ3FZML}HzNP{V3>TyUCkZD)f)@&GQVHWP} znKMXAQ8oE15z`w`)znN*Onl)}xUae2F90;`uRB5rsNX?TD^+6?oSoGC+`$1rxN4gR zC3a~kDV$k+VAzP>v5o}}8&X5H&6lrVQQ);l7cL+vJBcVpYcuXp2(1ljWEv;c6fa|A zV-Uh$UTo?b`a5Gr{FVS9YK>n(frGL#Wn|Dd&;>vjPvgq+KXzh#JCKp?^y%*ttSxEx zIlZYa$^M-#dkVAD8OV3X(70aqbOMzgl-w^fyla75R+aylwIq zl_Wx^3?pBc6Kf><_iL+)zN8#Ng-6W{M*dC`Pq6avG`F^fyb_TXZ1k4=J86lW zErbFV&{u(2R*yWfp`ii3Drxx6yd)BJ59h?GStwt(+>(>)>**P$hskN6rcXn~J+GZ- z2BX|WDGtBu>db$=r9lFiC;kOJ$aDWc#@;)S>i+#7H?oE7>PYs;Zg5I=8I=(!DKJwAXqiN4Pc>4I`D7Pd=R;eTyugpP{7QBwr&>z~4^ zDvc}++kao+{Jn)fup)ilFbo+pL%--|Nr`Hfh837Lh1(zu(pXb--n>MEMiGsCesl&O zC@Nc#sHQ~gDl+Tqe8ur3Cb^?qhy*Z*s)tatHsr%q0+IWgjOqfkpzN!HWe$MS<)sIax z8c55FC&irGD<~-Vev1^qDaddXmXzfEma(;|@*b)~g?m^{y481Q{g`@WE6(yGzn^z! z;emgB`@m-Zf?##@OEKeZfsVFg`=QML)_%{Y zTErl*Neunk_#v+2ijTLq0rf&Zr)qM+b!r^{`-7}zxh;^2%7us*lF_;>cD!0c;k`XF z;tYT&qOS-_KQF41|Giwp#H$t#B-4LlVq!iDmIq1O=ZuFUeueg>-BcyK8j9Klol9?& zRc+#rlg|MQ{pAOm{(oB z`qZ)B?E&1p+VKrv{4`SN=3#>(f5 zQPmg4B8Y^=e;;nGU_(C+w$k&!2is>wcsy8}+wC2#Ue(JVADW5v@03`#89-G8@je!z zATJAM9UQIJ%CfQ`cX#)s?8l?M#~lUk7wh}`Kfx18SG9+rv|gd10@CQW`91^%&mHR- zLC6Nlwx#3(D`cvq8>fR8=W=ZO+`lBHBTNU8Th}5V&u}@d~hh+64=xsK~^n|!!itsR%pi<$g{7$^LQMG3ccOH zapi4_*;!c7iq8F^z49kjwrTJx0pcfdmPY!3OwEuntUI)k?^#h1m5njdl0fAOzI+oW zqKh_OhQn0Rkb|=yb3o9%jR%X7Q35UkC>i8urBC^lUQ$&HqZ>!JP0h@lSzXyZ`wg^A zP{2(5K@}|6sQc>CCE$W@_5p-|&2znRGbzb`yobsQOzL4!c?#m+pY1xm;5s%E)>u>h z*8)GQ=lwy?gC5uyo<5iU_B~&HxNL>&zf?9ESxD$`3Sb%LZ5cEUoBy^EP_TuJl( z{@AQ6R{)-L1e1f|P#FAZaEK~DI9Bxhc?g(ehK7dVW`hF_fU=>|XqHEEzr&~@8*KR_ z_SbPAqaMfg?>hBSj{CvVZu^$jprIe(H0guo4J{eheY~C1_iFvt4c^+(TAi z=_s)C^aO#2hXmocKOQx50_CROVhaK0tvj|x5jieq4`-+BwsewR_v|FT>QtHaZ(?z5 zI;-?vX0*&sZri>coZ%OVRF0qLxt9 zH?~wHI~AAJ4R7}IuS|N@WVBzx$&zXiG^E~XWC@D+p^(Ve?=CMb{dAR=TP2EI(Y;&7hS|CjqeF8ZYhXKx@wc3J(%+6vbRK}dm3liA_I`H|NSNsD4Qk9P} z=3T@i>K-^S4np!a2uIWyE%ZSV3y-@mYXFVq*_CXqmH)U|d*pe`<0~ty(k%`J5&{o5 z9VXiBy>3K}Gf?5x9N8TXxbrl=>Q(9Y77_2ukuHE&wbjnDaEd|>wLEmlqr2b>xKiCt zh;)BWPg6bFn7uORHIGl_zp#<3(Bg#J-F7f?6weud{YHiTCz^Sw3WTn1Zh{2D5}pg? z4lp)Byqb|^Uf!1-h|7qTquOa+Uh%T_jz(2b{UCnz^Qdx@UaLYJ^V>_%_k7vdIEtp7 zd;F}Q4EjGkF@4-XV5lD?NBW`La6AcLi}&8a!@&`M0%I+=)wmhd3`k7?av6s zZbe`d@oZn@_nvh6OJX*>2;*sLRs!msav_I;*Inyjpu{&d=G>S`!I_V8D-Kj915WKtXIIzGQcgo2MMXtT&FY?q3oot+ zIE(P{gT(D3q{C~GR!7?$oSm@%zctM-EhpzZbA}mUK=|#Uvxg%}%gR`uKT~W`Sc33k z>r?K4@h2On<#~(ZFIHHI1UG57ervE$SaAT$4$fvhq6t(+N3Jy86hr@#KS1%|m_uT! zswJSXIeGFQrj^mWO51)8&oxh&KOYvR>+4&f?n(40hFIiIYeplG9_U+sI+!_A< z{vZ$Nm0!MaNCst9R3LApzFmV!Lqt`z6MtA?#|J1k{@@W_Pko(CzZBOV|Dk1m?&3Fi;=U)I_R7xGiw_OoXY-G~ApP3mH6og|%)$W=vp#B|G4FRYl zsYEtb-T67*`@1XuSV8fjh=>U2Pbm3op!48#uod11UEOz`oz=k$Dn0Wj3!W0JdSwr` z0<9Zk7SNAAV&H}Ng;?Jb`iQ?{SFQC@!Lzp0=`h31u%lpuDeGF7nP z(gw^z9#`}7^7@1t6BBuNN+B)_6hPrSiCHyU-HLwfK&4e3(B)7u8Zxx>R`{x z%q*zpon}ftJ2hAfO+XlrJD}i$q8_jSg3I)A92=+(w+##k%RUGc@x$`Z{rs8uu09Z8 z2_Ih)YV1m@sYKGHbN&zlytZ%}x|Uc&_aUghTpx!r;m#6xSMv4iGtlEhd~nllrFwOl z)1G>KcwbVER-aqTnJp6>5^{XRk-gydz!6`R_K>vS3Iaik+{02U_M)AC(Q{TCW z?YV#{45BFBODS%lnzG@{>CBeJ`seM>-v>&&e*Jo6LFl98zDUu6Es2XpriNhI&h9Q@ zwhuKe?;(vuZ@Rp#Uj6FMiptZ3DhF0i+x-0eW|E4`An}oE9Q%3|@vU3UKa$101vh_+ zS|_Hl{L_5&XHAWkZ|-*-5D$0vz$pS^b#D0l8e8Hh(YBORq7V|r=(xZ5LxMv)Vio}7 ze2h$i4)|mT$tkQN zrE|RV(cgCz zq)w(l;C;@D+xACyTP*&9WDdecu*eG(CH1x=*5C{>mX!D<;zvW0TWjt6=+2!DQw2+b zPID7pWmh$&bT6spOCFJ$Am(TXyfys|H8;ZtU0l^(T6Gd)up5D6U_~N`LTx(SH$s&#bJW zej!IiPKF~rA-T;m-$-G&y@kIWbYCbgE&WqiT^UXGvN&`IDy2X;WWH=o>mL9>8msX~ zT3Iad5(Ql+d%RiNB$ zW)E{Y0q%uU>^GQ=Ki1X`eSUETq!iRVY)U*c4Tc)0MNXqKuA?3~P0>@pqrGZvC8#(v zudJz*xH(O6zCua+SepW-DE%+@8+-ciw~?ShG-UzFDd`^f+7ie}M4!}TjUi{KwHFOI zuL+qBFP8DC9)cg3vdG+JY?n5vP&Q5K(vb2s^kKgH-t|~>xc3s_Lmm%XCxJGnqo?XT0euDxx(3bTl65jNG_ zU4jI=snfTyF*t)5HFuyD-hx^txD$|^Ffw9gYsV{BjI&}P@V(w|&=-_cX<1oc{4gLu z(&U043OBIsV5=AOajNYpeS?;_z~FV8ezQa)+BSWlzjyCM_cJEeHJ@)l@T?jE9k@!P zMVD`7(EBT?38}Qad`YLz@VlPlQJ>2HS&99k0;&AjElSn0gixnBf!O6w4#JvDc`0FG z_1GCi(Rx>R1O0E@nyRfuJQ~${BeJD%;rdoKcAlzT7A0u!c$Lz&Yo|;}Ui~7LqiuXP#412O47 z)Dxl^g42~EE}uPiOsuI&f%sn0z-E%u+gCRg zB^*>*^H?E6{pH26P}Q!WTxd8WvXEF|IC|j~u!yUwJA5j+Zp(8foS2nxU3Xq!^UcSP zzd^Qc5rVeo0%LkRhn8i$wz>vgIym7KvE}*RXetX1*eQ1vz+5*S9XgGr9TDRs-jOl@ zUGsKn($xXu8-7rUB}>RDbmL}_@EksTxSr$vd1A~jxE1q<8gi2Nzr@eBJ@yDii?PwPJA=Gd*mw)p7hzp5H1G!Jz2rXOhQyrPU z$rFMQV~ax&3%Ka6UCH~Uj4y0?pd2lj)|gC5)d*p=%71d8PUXqP-VoN8q`@8N>Ktvm z%a-een|*O6C2b&nSTs;D)OfV9JzlbYMVGV`-P=Nf5u#~e;p7ycKJis9b^VwPhb=87 z?|hu65J&Ushs`gvrfh6C+_pm485p0PmR18fyz7TyWBh%6>!jLaL3#=E3_GZP8o(%! zd#7b98X2?_yTo0NiIHpy`93xlvNYW^Qp3wno(7uKuCd4-tc7;fg>@-)KGwR)?|w6D z*5>Hm_#HAcwf||}qeq4T>v`5*074b0ZObs{m7VGue9f)h)w@JQ1_&Z;z_8a* zzr&+PEUla?Mn5h?{tmZ&eq^BorvI9!Zn-+s3%@Q)a@xu&) z*iE~QOiU&}=4@Oa;R+eZsRL-XV=z7UZTyCXkh^79rAu{O)J z6E*jpn(AP)(Jy@c`c+&~lKb7&L5?9tgSpQ>WOem-uwg^z&@~VhimvI*^mOIpFL_G| z&K$9I=&hV$TAC%S{=H6up)sG;n|hsZg;G!3t1C^M?T;QmMwJFbG=M$K!kBuSITdZ% zbVXsNii+5%d-IR! zs|jd)>n%|{Tg&>(7r}U%sLGSm5J-8S2N5z6-K|@t4`kFvqM0!&t$SoUs zSDxg2*bH|~JSWsop79zb&lY@7Y@@`R$$Hu*J(O|KVSjYT%qY_@gu8S*x0=K(E`?@!3vu&?R8cka_~9*m@9(_ z@Ddz-m!gSPf$D1%MLOh`2W#mIMB*}Olbh~cQCAR8X?gk;4hk*xrW{XWs|Ev)iJz_Q zEQ7+e7Mb--yWD^fMR$;E=VOyzNsIZWi zykqrx=R8T#Oxp3+;$*eh*>uNy4b*FuGGHWQm?p)$%O)bOvXNYG&o5D!Ca689Q?D1T z3uAN6$T0s>1XV(3?b;UTOC>KSr|9X^z=atJ4Oc(ABg(qzW~Qbn-#3)7U1JL} z-X#8U+QTVgPoYBhTPW;L-Q0tpA6Ny5H8rj?tdp9+6Ya%(7c)iz0(NLP`q^PEbTVq@ zh`cj|nUp|@2O@sgZA0mD*doW$Mi9|`()quSFaF@DS<9M|gnccimWWHo&2+w_TBG;x z=Q>ryt^>N-(LhM>m_iyyMZ%{krqcY5OGJFVTlk+5BUBcU)QGln?Xr>ZvirKj)K?Ca zuD{{C<04^?#Ei60cXxMxfB(EghktsnR=Qc5Gt=_ zinQa8Ve?T3TK*;kFYfZWn1!H*@&A@I!$L&tIt|Z)iqbrLui{m_D^k5l^zXm96T*W@ z-siTwNJ82vC@9@mhMWe6=>Ox5N-HVBcs8TbE{m>iS%2!~Q;!^`m||yI1o3<==K**i zMP9R;ZI?|4Y(MpZ(;QjT;aH$n3q=6wbhT*XEd4!uqP=cwq;QIquySx18yRu`ltW+W z5BEKtSSJR)_ZOj<6o;kd4LG;O;WBCx81@4+vTpCfXbuW*9KsrXA3s{|H^7%Iv93NB z0)DMl7NkO=opY2D2^9)R9jO(YjErO8^JHiDBEw(5)dfa~IZ+qR`0$e>cyM(odBfc+ zeW>6e&{)?K_&rki9L@bJmoMw2>awK4c58PAb`^Wr?4nlW&V`|C()C9&Wb+*?{89wz!IWgCM%` z5IxH0ZM9syS?;BCtYKGmX%!SjE^-XT2Q;oIlu50_|dMF#n@8$1& z>AtC5&!zV8hME?CAu>g#eR5jNMJqDJp*o;SQZM^4uMzda(KNU_z)nHAJBVq6OU| zQMPt%4tB6ELw&4WuZ0#hP0mBKqvoV8Y!vHSGT)8>y24xL;v8~Y^D z$9v{1N&C@GbD5fbMda;vPYfbwZH~uKVJk;{8yg^15qeG8P^JbU0Q-iQoS?8RL&{-rQ325sklTmsZCb`e;xht%EhP$R^KX!6A zwWqVi@5$S2iT#Iz!zmsoW#dDAdK&&%J1r6YM4Cx*comEM*N7!wohINO2weOxtM>P2 zr7eQ(_<)n;aj1Ud4!OFx)N!0)`0FvLhU;kvhw2DEUuvJi{j{{rN=l}X3+wN%LMuIR zZu{Wrh-S7^>)IT!h9d1g3Gn#Pm&*tA1?hkw99-~2ud_`M)iA+IJjK&)+xq=)Ady}Xn9+xSz6?{ySL25ZB>=t2l`d{uhuRua0tOiPphs!MT4n`YS~ zOhigc)xxHui)sKG1|O*XdXu`Ij}JAsf)hs?KqlKmCn4xF?po;=nx5*=YKU(GKdz`) zjOLMQem3|Py2m3g9k3HCndhe|;4ba-`-%mpTQoHh+wh`nnrdOA8*s@Xxz8F<^K&q@ zc8=;dy>(OT=ZIFH%g_cw+n!&NLK|siZA}+<+|^Y#$cT)>{V)VGTScjB1f$Bc(hj#r#lz-IZT_yu6!n42LdJ&xCUEBIIO z81;Y=E3I=>D>h7-?*zU_+k;ZG2}d|Xs#s$yMoX}6Hc1b}>Bk?HQotECDvJZXv3?qn zyxbUoj!4neCDqNF9p0pA%W0$m;vfW3Q8iSV;3n>OxIwG@hk8>gy_z7>o$Sy(bGfX_ zSLlY@(|J=UXm?oX&=-cP_VsJjI{gaHVEV^3+a;8?MSLdyHP@Fn&e$g7jwJeuz~qDe zI-<1UAnL_o!Eg=Hq2ONYUlpuPrbI0x8P&do3T@ajDpj*BB;Z=6W@ebq=)LIr0yi=7 z;w*u=bnUl2Bh?PawcJgsFJHcVuyDl^*K*@bN-3h&hod^w=0rGIU!w+4OtE`V$_IH4 z-910C9T2jXp1?PJ9Yz6NE-Wm}k%t@!8=nr26 z*H~T38m!Vle4?CVwD{Iq0@a)hT^gpm@i1tL(2~)_OfGObV>MU0`ueB}ET++sew)=n z14APW+AfjWdLDg$43}(PPNH$jgtTS|&G!+ONce<|3KRM3pF^ zMUK@D{wT?vSe3ek9GzK$@*={AAgcKpA=ZjlAhtKb4LZn*BO@<>*ZUCsl!tIUr<)-Z zx2G$M;(M8eEZUd7&B-tdy{m7DyE9Gt$|o&_Ps9p%1ouP~u&*u#=k8lMUH~#*d%IpjyV2&*rR&fnc=4W-ds5hZ=Ct|S@h8p?vl7*+C614&8gW<} zHU2S5&q(aItki66IwW&C?Cs5ZYmO`P+(E{7K1O)b2XVlz^IoG8I^S?}p~o%h#?& zH2m+_D1tJ$gYmyYD`P^t*cPgXkZSZuiM{@y{OyB>ztiU0_hg>CdSjyV+y2Z4+?kP0 zHr&7E50@ur{46wR(b9huJh{ko)=Juc`@x=d?=FUI_$GfKq?z=!oVpZmq~9n>I9vr^ z*l*`^I10$Ip)#=B?<-gB5v2Sz0n`g(ZZ6hTB5zyDbxRJ&+TIKde7oBe4?|fKj6y4> z>(TLwT|7XSdjP$lxpY)h)vC_qhxm>qOKX&B%-_Ek7d7&I#Y)lL+#Y?}hA;Pi?t^VE z2Kz$4XBP4wmFccsFfh^2^q5^4F7uC{{Oxg8Hd7JXOAVjn@rd5%vc<2id&*)w0MYh+ z!e3E}j0#EHtwKcsK zpLc-Q9Hlq-ib}|Qg^VxAn7cP((x%*;Vr=o!y7Mi4@6s?6*(LYjpU>}Z7$2b*%FG#9 zZXyvk_D}Ab)5Zh6IAn1}6MTV(x0G;$uc}9iO1zt<+)%X7y?3w9=~ds2!)Wgm!f;WP zsZMO$kng6_B!&nbBN_IL?$tUH99#*_gb&pl5a-So4eq#Q!tyW1D|tfQ4Dmww+mGK@ zpWa82`5OE(bWC&n)L7i}yB`WBzl2i*{N8brsVG{3WhC1(A3U%=a%6LR`bb)cCs_90 zXArt2tCxW5h+%g~GHcJRt}F*l*@DXqHMk{-MG|e@pbkw8st2QL!cH)b-W!n?>D|MK z2UPA#k0W`;vC0{Zd;5WYGV=98MbWmp=Vfo`PSWZorQSW+ou_E}(!}&nS6b$ai5~6D z)KU4n�%!`ScQ1SP+ibX(lByQXh#*D>Zt-g(hrFzVMKdb5jaxJBuK94edRF)aB#< zGKR4?DiMh3EYJwAU9YmH?ar>#3eFrwY1kvKedF1YV{!P&dNeCHDp%7@8 z(eYsa?Ye7kF?irZiI+Xd{sy;UR0)+Nim|6Uu(YF?w}XZRa2b>ZufhOmi=N*MJ4>Kp zf}K6mLkHyKBuLio?oWVYq6#=Or{;pZBaYHg`n)X7ZhDTUfSpkY=)l^QL;jZ$-G~R>+b8qjb;bz>|=qM#G`P*fzM-2YH`;9-# zW}_G6gnI}TqdMHtjfq4kaq7d+W!zrx6Sq%2)J^3{aNbFE2>*!-QS@U#z<^Hn1Rmb| z42Mu=hE>9h29<59bbrx2YBXO8C#oc56cx40=w)xOjrHjnl#`IrA%VxqYH7&8Rs&%8 zyBXg2@2@+gMS$1d5EMo4(ZNbG2wuonXm)*5egF5&@lt(H{aQpPy>V5DNV|^JMMOsK z`<;7!1m$Z%_PvNOlgOKZ1072>?|P9aQ!t}~`>;01*cR*QD^nwRamd!rZb(u2)ggO( zGONcil;R;C0Jt5!CU}w{IZW(o6uGR9_qo1%7voT8TR4@$%KHEttzxO!ZpS*bwQN z9Ts-5g+dw+16g1Dt-h9_Z>CMfaSmnS(n{*dnU_dj0dIzlWzYvILB2gy;@b zAjAh&5W&fzC#S~Vo^EWMw6Lf-+Fw>SZS>>qm%F#SL#5it12ZSIX=AWI$8Z=jq0oq; z_oFwaxJqx7%$&IYvklzaR{CBi%fI2@@F%xy0j)6=pPh1}sb__547^X&pDo-T;v@iR zrDAmYqoXA|R-=Ag-1vQNl&oX0DhaGCGZM_u{ zt=qN_WImWNT9aySe%96X_qnYqza=?uFmQ9+&X;uh+BI9A%nt*XXKlWmryMQ0 zB*ekajwCy2>JO5nzo2X9QL2d=`|xbzr5f!EKmGinVuf4j+Ima-KrEoekT~ ztktDr=1D$2q4IXJQ-N0**jB8IzJ(rC)H>cnD=r~{ORU>1o&U5RwNY-q&+X}mP48Kt zUSd(fu=~~P*YYAF+CHh=Qz1u>_9tRE)uBVQKfp?^&5sTa5!cT7{-gW!uG3X0M}Xcm z`Q%Bz%$Dlx+|d+i*KyLPit3`Lfm^;>F*17PY)s&T*&S>L^)oXsZ*pXWmxl-OzW8;m)r;1hsk`O(Gj7yM ze!g7MpqCr%yQ7*f$oSjEZ-i@mZ7KuvOE-Q)tcl|oZOFPV)Y!-3=uv3liReY!nww|j zwumOm@;6Qd+X_iV=Tk`j`NjZSJP;ullW0t{2HriP1hD*KN=|hvb^!^0`u0h$-Oo$@{PB`H zaHhVMbb4Zm)=FsSPbnYJKwo=$uDYG74l~(jbSGL*;AZI3@~ZLvCGzd=-dRfW?aA=v z`K_*Z)?W>k+#mR^C-@iBeah%c%e2Ag6Hf<{<$#&8_6MPCEWNkkH1)KrNB%=yk-YH% z;ua8)>MN_+rnU9*LLb5%@VB68)=cwk(&~ZRGkf=Z5vnD%ldBo8zWWf8ocOc)=~GoBqsc+Vcn&7F zlU2#P7xUh~*W}?|(Vyv?tgfE>xwQDKeMPbWso1Y3;p&LiSi%C&W=`L;zrKYW+oa_5 zdqTd_fBBE_h==#Cb0f{wL*JMFcn>4_l%hrT>L= z(i_AhqBOHMpLBP}(dR4Q&7x(hTw%*{;WwQddI63{76V`P_M!={37Db+)9^z}fxCvD z>|58@INlpdBah~W#RqZ))!TP3n;3Ae^)O@#r+aFCIP`a~SKjaOQ-;F3=E5E*UZhy& z{CU+iKOV+3xo&L~Ym9B-S4D$`iHd56)w&3m&kiBWCI0@QPy1L(hEJVZrRjU$5!9Pr zUm+aoJ{lmdzBcB!(L1)xqw#XXb{fHu?7= z5}G9yR7-B`EwCwBIZ{?25i;Dknm=V*;_0=^|IDdlv+Y*|CV8R>=)F1NRyi;;vl9F| z5{-9UX3z!9lKd>uBAZbn3z4&^xGnN+SLAR+qxU6Hwqkb!_;z z`puNSx}dGDRbH=DRYSAy%}m_1@6R$xX-*IE>@MI>xqLM^^kx5Zd7{4F(>X@(VWMXf zR5tW)DtPS*2+n%^r|Lz_aQqYxsZw=;%fdbFn+k4bU@u^=b6fu946=%fSsiZUDM{-g zz01#kiE}HF*o~Q*?H%DY-ZY_8Uoq5BPEPKYF1b1LJGbEyG0qs=z7_C5Nt* z-04}ICjFjV)xPRm5tvVu_|pC{;?%0-yAy>seEf@wLV0<&B}6f*eI5B3TQF0xw4}+x z@$TKJ^%qK9+gEe#SH;AJ+p`a^4%U+TVuV#E&~mk!qTbD}MRcgq%sc9%!F|pNM?v+X zC_}%85|a|^2vHWPF%0U69;!Oy_T`V$(zKv{URzFc{XPWoZ}bWl-CV(qolR|HmH5b{R4@--_0LiRPdF8q8~4N6nkek}05a8Doq z<;e9Nxwa=5cWzS-Vrynt<>xPMHI|5hV;-L#uKZ&|+(b^8mD((+yf&bxP}TXg>|(rL ze&abWU&)90Z^rxr^LsTJHvK1JON_gH`|sd~q6#`XdJdkJ!Q+f!9WIA6K5q-cJTVp_ zm-Xj30x4*W1Bf^{iCKr?Y#icE^?n;R+H0O|T*v@M6u6S2`)7GEblZ-VT9eUO;Z-yH zRi;(d`qk-HeHG2ME0YKK86wy%Hq?rugRO~q1?=irdFS0t z8#c)L=?WoUM8Ve(6;ak*)kz~nkhoDzxF)o#7&N=qQ|EQ=Wn_q5+nbEGqxgeh17M~m zDjC3*xU;M4%K&4-sCxfFA#(e+Z5TTY08z$IAEQfLp(^t5<#)ufX^wGp)n9NiQ1NQ$ z(wmznnTFEcqQ4(zPdIuWgBNdqkK0p{-mLz+++R<~Vj4b{`(r945ZJT`P>i<0%_cHGBg_?kpRWjbw7S!zM&dMI!&NiglUo^+||S5 z`H6RuT>=v~qSVCJ$Q0YxB*rBlp>KGVGT4pACZrg)ruT;(?esE)rU<4&PlY<%q~DG>dd=x!=K^XnT(s|X3ANwjNP)WPlReK$}JQ!Z*_CbMmu zAMEni$5uV!G-F`7GkkOT{I2}`O7z}c_jLJ##gjIUQ#0`92j795qey9Hc0oOB@Df_Q zc$kURdM&CJ!uF!r#L^!0IfJV&K~`uY{hU1mo+ByO0t zCGKk0(Ae0I1{eiOiD-LEB-YQ}*|{OKo*s4UHm|juoJ_ZLJx`gVH~mzoIPNyfG@;{o znR~YiL}bv@KqitN;B*02a%>B~OSxqtV1O9V+rMM4Ag%Yh5AIeA=5B5eA3c&GFL#Xl z*f~c&NlM})UZHkjA3VKLG@6PonLN(P`878Oc^H%9$0cS`3dKLoll*q>mXTrc$vJ@G zPj%108=y@+JN=oV;};DLllozMd(QiyFy~=Pxu(~(Dy^R%^QWj%+E|b+eal+P*%ZeA&1N9~|Q!ed8uJ8+$**BX>zTFy3 znp*;%&2&%8R_V|O87HbUl`=|LW3^EHYw7TZs6s)0etL&noSJ)=Qb6jfwzi44nOCqu zTpyg8ijIK+F6gI9qunt{(BCck*w-5p{Jjc(#%|1g=1uIgGNYoB$ z_Fx$4MAgrDEl+ODlg6xu-}{jDb$rMAR4>nM-1ix!&{Pt8T+d^0>-pNa@1--Vm#bCL zDcyVgSawRZT-uX*@rFOC88wi367D1?a}v}xFIe#!C^eIowmFb&_HCeM<6shv9p;*O zUF*3)HmcU4aI57m&S<3vcPk%PRuYyh5%-qRcMZ2k8(vS@b74)GdglXV`xx4T#IZYa z2uL+Gy;EKW!fJe}H!{tccfdLunjcK}>nVK?1}@q=qUTezFgIXFPxRS;-%#`7JsD9^ zI$3qOE1Um@1|!7jWmcrn2^gfq`#muNE=Es1H&=y3bIX<+o*w>v2* zS2Z3T_|Vyj?yC#$oNDbamnz(_;zdzm{Pvy;d|O9|7f`q3B@omHSz0r2>ywLpNw7t9jqNm|Bqcme^qmHLEh>!h4k`o>% z*jGKt%KD80WoM4=?q7rrbVIfrp4M7je13Vycw7d(1cnk-+p-#^DZF1!PbQNs9{X)&pm~r9z1yx zJXFWfm6w|fQZjVLW~s9ERmA3(Xl~z|ap2CjXai7nHO|h-<#Wc&q5cI(wuE*))J$|Q z&yVVI6+C^)HSXl(n+F}WKsUW3C#+6f-t1}y7>Dax09F!|u)j#eNKa+ZGYr=C^ZN<% z5LX>)f7|)sgpY3qzLB|NNuz@PRy2ihB{ISQW4PwE!$6+a(Z8SjCn<@L$I9Mb zxNp-1OVn6Rm1sFmy1B*G_ki&F`0+_p9)VX%a6?GKGRK;MSl@>I6=6^~ko68bM;*E1 z>#3P|8f}^l=Wy#G=Wr{?6P+YA@j#w03Y+xBy5XF3eUW{bwn0m7v&hGJ(&yAYv|eh1 zLW!s3o=L|!#8G-OG*_2+9BFp{V)SLyf?M$M0FQt` zR&K7w$@kLts;R=};V^`({shG0z^;t9sAEf*-}rlt;vxF#&M7I@Zqs6p%_;1m6<9BZIR zEp7c4CJsRs#-QB02UZ%`P?dCXcdrZ>w|1u@UrFcd`4wypeo#h7FK#?;a`PA!q09@N zA7Vn#4h+1jy}22sEXVcAHvs-{aSeX|o}HIhjRx0FTmD5SN?Aig1B%o&iuY(apYGSy z%~-A805MCS5ri6>brHy_l^#e16>Vy6uDGP+CVRW%%~NMhOW{fe3rA`WRid?*J%lb| z-H-E`=*S!)4y6i`jy=736XOiR#4BBdW(eDZJTYE^ol)1s1Sle>Y=YiBfPJ>M)G+|X z#d9d%Vn1u;eIUgQR?Xmp+68_AfqLb^yzY0X$W;JH6(xBO3?7W85=3nNPi4e=(oWs_I1p^Fux2PS}L=I$_$7Sd6y6rWjP`+(sj?CbYbqc za)erkbF3v?J;fv?FWurZPJE2K?qF~;9tD1$;k)TULEu=(q3re^(=Dh-0byG!nu(9m zS%ra8hA~}qn(OXvM1zx5#ewtAD`CU?QA1a77 zTlAehK}bQn<_}ImB?okyqk4)t)MM`-@x)7sU(CT6wK^(sWrnaP^3&4KcP0&l2oxG2 z#LT#64VNuLj3aIZ7|Z9E(fka!jrZtHU`YruQHQ?xn>&$$*Vbh64Q_Dm!YrXcBC{I~ zNa&{xG_iuaI8&I^^~LM5pW(Pk=Yg#Y!(u$s2MyH0J(0=liN50VO3_7IAuhH#g~inl z)&W#ABon^x9_d-O4(<-Wt_lgUqnxNk4z3_-{>*Sgy!AqUX?gj-z)7}lq!fXZ78xYD z`m+*O44OK=^i_rQA_{0~qPEHzxTsZsfUc{G%Jq>lM66DsV5%VQ?c>&FXAJvs`1mHx zrj)jLO4?7%C~IzQb)N8I;6hv_#(U~tk$UQ!XuDY=Wl*2ag6{B|kqHV#zmbO+x}qM( zla_>Dy3$!n#s$15hQ!u0N)O$<#H%Vn5kby?efRcu>FSLH>K$-0bb|pY$?w z$nG>a_2jg>9}$N$RvCRfn>epJ^5@T)^YVz`Uz*SVnG%gI?%?p;t6gqI45)nRlzs+0 z`5hb2*CqwvKTtZ7IpEXSo`Z%*IHT6}Ml8_JqIM!4nR_8%U-K#sG>aF_pf;CDTtwwQ zy~Yt7|DRaW(8ci*+z5m>vYyHFEhJ6`T zy+GbjQcRbOIl75`o1)<|8d#SqUC`(`#%>j;=%0Uz3 zMi%QC2RX+!BC07GH7AF2TYfQ2a2=Il;oRZMAL!&%#Lm0=2gK&?wIa&O9k`qULI-!T zi52MbKg6&%H&`9heV9~4TQZ!^$`QHFr!t;0a-PyW51tfK0$2$x|C#_fVWc6B?{_XF z4;ZbvcC1_EDf{D4XVwzE>ulXTR&UdpMRngPvz1O!r_hfNn$|WK>6M1v4@-hPH#iKQlFjO2Or;SJ4c(rYZL* zQn&LxCF7dg9o`+2=@vUX#5cSqMbYF&OpyO?Yl!L zZ46c;xBy|+K}uHkGJ7W5r5eIcrXb^WfiYY(H-MsGpbbkZJ?*)otWLhK-f!=7fhscT zST)Np_o?cveNXLDVXJzV)l=s^HC>9oeyu$}js`@ZbJ@H>9IyFlIhK5ALTVZ8@y>Z%nlf@?V4IO6pWz(aVjbG*D9*)~tav_I1U2 zNQs2MI{Erek*VX6Qomnc?l2X_9{s2h9K=@4RNe3X$#bc%;Lt}6t4-C012tNbHv;3s z=1Hxh59;?d#)t>Wj}RlwF`2YG&%)eXH>2a>n+}%KV0uPp2VDMG4)2X<4BgPq$Ae44 znT%@|8Hjum&pyWMVvZ9- z`&@2iUl?Cu>uOu^Yig?sb$6F5Za2J65hv;x*JVuOQ}%%eH8>c(oV4XIBNLPPNMqE8 zW7ACBIsV&KRXM@&-n>~$vhlmY+qm=%^m&Am?65<=Rz1&$-K< z9?cv#=7vB1dZV5;!$Q7u`}VaB+rNP*aNlS7$kCPj=&=`%&o0&U`FBk`m##iD&{ucy zY9y1D_9f`Cpz!L=B9Bort^$wpG`F}8Q;SYqjpU4bAUF;AKt{4Mc;Rhb-95|<6;4w>=s)23eJYrEbWr{?5Ve)1cg`P7gomZ}@# zzWD2uo10cDj}Cf%{|8H$r4iD39q?-+45{itBma%GC(O0uzE+ag|C=^r>L~f~?5F=l z<2w?_;du=7z^MnYh6&&6!8`%{InPZ)SQd5a!lcTh)wU$ga%h?sbs=ttTs-FBwY3QmD-g2s} zwr{Pm(qX&b`^F-Yy+2El**E+cE7HuKe|cB3i)K{TOLLW_xQBA{6uCXxN~8I;opsKS zf>%^gzkehhn!f)Kn+0FJdBfF3<$oZc9+@wu2Av5Y9EM5tRE6w{6-%FBYNZN&0iV-S zmfpX4owo952K-RNs4*1w zfeT*4Y3WiR60N?yQ1bV0^PnM9`6yE-GdMuJsC0xzH5 zPBYrRI%)mrL{Xis-Lh8=>9p`_0A<>1U{aG#bu&%tr&AY*U5_VL=%hURQhke(M!Fm) zX5_n4BaCD3Y(2ecCPjGnGAqBl-l#7SdVq4ofQ4l+~_-5 zo@PtGs@KgRP6ad`){x|^;ZC!vRw^AiihE;^_VcrjI#iq~8PmOW>JR6rb>KvIrcJw% zV!!hCtv6q8c#S;)xA8ENE~}{9LHlhGKN+N6`ELXuYs~*B`Tt1(^43@rLmoa1U;jf1 z8b~{2`)oiI2Ts@2rkME9wiDz&c6Rnb#kRj3=wbai%t$dwUB}k?VV%-%wwk`Psl#-T zW!K0qU2xxT+MGMGTdg`N6y!a6W0U>+-4iI#tjx^Kt@0Ys=$ag;*5pjZU_;Cvzf|oU zs-Puk%Um-JheDv}o{x;^ZEkCm>NhHK2p%!+1IT8zj3V z{TeL5C`dKuN`=nbu{ZOE!gYOHXdPlkh@MKPOXP1={MrN+^1uM4Rad9RJLXXCru%fkxK(FaWMC*C;?dzJo8~>RJLomNAT$K|q|2`R$lr zGp+ZV7cU|*<-HM#q9BhJ5;!kt`-pqR9p~ERL(Iv$$!K3PeN{^~q|5z|5C>sj zqP3O|`YjCA0@NGHJURnySC6c#jy|rl8;ngf{zb2Db=nV)W$Zbqiks4O-D@0D;+P*b~gQS1Xs zwrNfcl~*M%XUxZHHt8bQGmT|myEe0#j$5UHWcuM_M~AYK(wh$-A}%kY?;9hX#CcBf zD!jIh#xP6uZb8td^;V2Igq3|4a|;7%`<9CxCX8*AI_pR#iZtzfpnmFL00k@s)@}1n zlFW6!MzXouI=1zgV0$p2hxWY7{{8GL2P-8^mx!CrOn(NsCNegblaD_xPCivE?QvnD zAMgSY6(DMb2Z8~hHoGC(eEBJ4>VjC)YFODB4yC5hhh=j$eGzxEtZGPb$oKR97fT6W z{Pz20vap5i-Vi4`+O57RxSF9uMPNMXhk1MlOR&MalPND<6R9W0xl zp9kTX=hLeqUIU#^`diMNk` z3N3uDbUF{G@)LjSr@%8+qbCmj$xrXsz_CFTmR%n3+~u(E%b!zG%E!Xo#|h^! z{FzFqiC(GKKd^H0+okZFFBHXt&tBo$KZCqP`hn}Yr!X%H;h&D2R*bs7MZwTKf_oC% zns#~P-BW~=?5r&P#w)I|Dx8tGZ{5<8NR2v0b93(ZZ}MWEt@Z!I)_ccO{r>U8N=rjU zOC(#7UFu|Ilx$@sB-ts_QOIh@EM#PaW0y!}WR+wSowCWu$gy`e-OtnK`}^IG$Njkf z_Tg!9n}XbA%R0QdI$(ej|IG+&zkv2R?3qCnX)YU z=;sExu013S4063G9f-ZMvVY*Je{}9>+S^jV%^0*;%r1|#?b)5xFn1`9{-?8x3ojQJTeec`od+$@FaJcJ4Zdld}tK~5xd9gn_gi* zrk)-V|L6XKjfOw%AGMi`%hkEW5)Tg>XkL2qPeB)2nb&Ph8Q8D7oo=I7Rt|CD`tTD0 ziHkM-cAXy6!;dtd*RBh?w3(8r!xHJooLR=c?GUw2wRE|CZZNybeJ&tIqCtA+Lhs~{ zW2ujfFbxFuD)++EsHL!Z@0WE$U>l39MW2z(g_YtdDt6kj{tMAxs~hMK2;;@F9FI*y zou8ZB?N~C%H;UR)2*1d8=#2Ua?8i#%7OYI<>sCuNUJ(R^=bvmGQ05y}t*t#P{Vj~N z-TdS~5?*xDpHb(A>9DEJf_a)J{#V}3b|jC;oLpNYew`NmJoAw7!Ga)bGJbkSVaerl zv?P&xy0F~s=H=6t`;T2-TCo3=&3fL=?Gp@UVMu-Zg{Lz;jLz8Eon085SXk)nQ?8*JF=V^Rz)0r4aHg4Bf+S= zFYC|ont0_;k38L`$E6x^T%X1GdueGO3U0|_2z{wX{=)T;pLxy(`{ff&ib@0f_ccka zxEjDk5DhhVxtif6QLEFksuw01WHdS^A*ZL|@h9p|{XJ1AOrf)^x*1H#cYGr< zwPXACI3LKQZ%!M!yGxIr`SZwXym#N0SjFgjt=?MTy!e#1Ce}i3z#_E67o*e18V`0q zpj5s419QwTU%ucxB#E0IRHMu;+N@OWu!#N6#}^@C@F&k8Fm}I?u21PW+`W1zUYA)u zma-^*@1^oOp2)Q5@@vZ{c2EBJaF;$(pO^Lc+S)JU;J$T4$Fp0BEhwkPJs#a{peJSL z5LpKLgu=WEJUutq+1VkqkjhD5EdVr=oNSJU2h%Um#VN!rpPOsRdZ1EZmt^3n zKbSPHTjB5tlB$s;NmfqP)7&yDZ~!~*0TmcL7n_5CRWv)B9zB?%v^VZI-cT-R%p0Hg z%7-qMZMt z(cJyR*G(>Mp?6b=uw&8Qfp5A}UZlP=6|z&2S1w;Z__d%5X7-vY?AHz`&70pJRznNk zd-+98ZLOyzcZ%`4KC*q&+s{P~x9@I@SPtxOKOj7>{5>_@&}5udD57wQy>|D;?+Zb~ z%WJe;fk^XJ2fFNIi}qP|V{$(7Q;;2P7Nq{8dHG^(0COa>=l70|^tX0FTDNrN>>t^= z(h%RRI=vCO+M)Mhbu^4i@Rc?aTkt)g^@SZ58@>qa#`bm(Q?PE*ns1(emqTQ`Jg{&- z|HI47=B<*;4^lgN=!gnTW)p*%ww?FrWRjs){q^gr!bzn9!GLc!fGnT6!{8$h`nsf| zS|YMsSY)R7ryfW3?I6BOHjf!^^qm`B6uP$baOYv^#^z>=2ZTe1V&J$vJbZnqXglC< zTpXxs@dR{~81rZTicCsLp=TC<^5v?JT{2Dd&M!JNM1zov8}8>eKeNf&{dK0Q||s5dmt5)Zp@FsEU;9o_9G`SSj`3zsi%jnwOOucwc& z>E*SZ+^8<>NdIA&caGN3adhd5sxgfAeIomdTTx`meW+1!bmxCSHKEAL&eoQ*zle>F zlY^tIV3cv1<*g!d@$w;|h_wBthQZhAgu#Z?RmZbG}exp;%ftowd}~ zZufKfSAw!6zRJk>Fj}2=W!~_Z@K>(WZgw907S>SWGg~Uz-!}%y)$Z3%1+o zUAaPkuFfTF3&G$5Bey4Lj6!-M#m>J%Q^hvK)-3fzFB&Ao*3|4Cs8HLQ^`02oEdSx% zyCX-AoFQI&mWNInqo`*Q2|GAZhvz8v`pC4L&e!?8Qe)&USLaKI=WVxSi!kBX@Qb0{ z!6%&|QLiBN{pNdZE0sA$5&k{GxSUIOXcCd;g;z?GJ`j2DqF~Uyws5VC`}tt=r9wRty&NlN8@LGocGzK z@GW)ff1LstYrj1AnA3gv?KlW`=?B6SvdPan z)4%H44PUd`a5X&AEpv`yoFpB#_d|B#%a2}9zyD}jw*B#X+ld`z-;MBtw6qwXo}(hW z{tUSz4BAwN#BnQ4*g|~0af;e}<%{@fc<=aGKs1(+ubVo2GU9$d@o;em$fx@%$s$O8vY!|#Nlp_e`15YaQpR$P;r5uNlA5{OPNH+Nj2m;#tH7KX z-_*t23)@uq$Aip+0Qg}552M{j`_7(-<>aYcTwY#YSeRthcuJMvm^B^&b;Z^s|5fiM zy=*$7Ssx2;goImiS5>R$&tuwCbg*E+ko6Z~u5ITsJtgqaNhLjv?uusV<2MEdk{XdX zxK%9d59?}A;^W{~TFO)GkWq*o*q(i4 z>om&)2k@35jJp1JJp*tF=YZ?yeuy3(nKftc+q8}OdH{3nmz2abUT5kg6a>O6fnM|4 z&7rh}?r#Bi=O@>H5L;_4vxzV+i{6;lY)7sY;hK zJA5bVgkSMQBJB5-s!vsDbo}DKSsH!yhmy2s{=QiLH|gFJM;6y~@szV8sE*+NGIL+- zqV;NX|Iuz&iQXBZ^rhAV4kE*ik48$*&RC{p(lB0!9^o;aM=KDy%3(#e{{A2ni`t<=Y?2c6-=j z4pQpsZ5*!Madm+1%`xH4KNFgKN!xGZ6-rldug7yLU$N%eF;!|}F z)(DA)twe~Lbc!eh(r)8pMhC%J{@-@M9;~DPlQF#iHnZ@2DAT|TV6LnM!nuC+~^S8zdD{lPX z=>1$FL)r*K7&bNR_Bh@+3aQiQ3fL8jINL%ln`KGXy_M($JE^m0%iD8opsH#E>xx_% z@HXA8X2-y{D~rz6!vb#UW9W8qL@fp~*Gk6U8Bfqbm3-JOX|MFjfQa>_j&7`$zH@Ph#tmUd-;=dXuA1AGR@qycn=yK9X=zEczCfaM z+Yq;&0N--XxLnp;~3;ZxJo^B!Yy40$&WS%5wLXL@?LEsNLHZR2r2OsT`3 zKL_SfB7eXBT&j+OQ#sg;e=>&|b1iI~n`jvZe4I2mrT=DXS+*Bzboi;bA3=&2%P%g4 zj$gCUS@)Kf&bN|wjP-ymoG7&zYyfqQSb0or4an#b?+yng!bdjxyPlkCE zKp}lr9}rnk(%5swb%h%TY#zqOZ+6{c?b-8vH)x|bfAd=!A8z6c-jb7@<6mR<%>1Z~ z{iB`zVFnH(vh)}3t3EFinCNWTB>W@JA9k17Z(q7|3Pk+d)bhoh15OCits^#Ad`mW% zJNRpw?$UI?r^pS}s}5Q0PSYp7&Q;LLObx0}SWgT_>lw-hbyV_LOue`(QfinB^e1?3 ziV${Zw$)eH?S>4~sQEREBCE3{8wG_GcgKR3fn*+qhTy%ioRST%E+l^Z`0=XZ+9vh5 z{$iN@@j=YgsuZ9J#=-JYRDvH{_yV5nJ$Uf+tk&l&J=ST)lX-c)l<$+yG(MYmvi4r$ zd}yO2{fnya4WevtI?l3uX~vH{GB~{IkhoSs{(PlyndR=5*ljHPdq;=er`qMO6?cp} zt2~hrf0MVCH*6ehin5|KSz_ryWrAGmUT0QjR4kLt+1uFb+v|+rxZU% zCoYQNwI7L+S2G4nIwQ>KW@A5XcG;fqwk#et7S7@248f#b(P9dyOUg&ohud>TkPltn zm=}OuW}4;YI%57~8CY?!)C!mcs9d~Vw2471Q{!3I;fyY4+iMom9!joFo%>=DTg*GN zt5c)Hn9k}LKIt|mr{^ey zl5ck`EwqDx4;_peF*}lnkQOeCeMU#1^K4JNTS2n1wWZ&&11w;!L;c`{dB&>jKKwbw zV4n3!S2Lr$rJ&)ncX#aey%)F?D{S7*;=L|olhJnXKo+A*mlWLkk{_C^uZ6;e9zj({ zk1Cna(oM0h6hOF$1aBJ~8+$hJlx-eSPN|#!In4AbKAzw)^?GF9ot@{*sItUXNyk6m z#0FB+<-Hd-Z&15OCNevUlHCWJJ8w4x%+~xQf90E)A8m463(h$!)0O8svREt|o0ZU~ zEZAJ4J~}MGRa<9V@Xb--{>$9%_x1e8+|s#fFL+ZRS_NSj)W{2E6fI%)+}oNg+sEUyeTsE(SiJEk#owNBU%B9FkGI&x ziL+q>vCA+xr5OnN*&d3xRB*McNHQoc%ZZXHnct%Jr=_H>u|3W zi>4UM+N{IpHa?l3J7oXImhlU*R!jc@MST1`@6sg~gL#AZ(sWldMqj#M1HHpG@14ji zq`KqpHxGwhZKC^6n`R_tF$Z;5B+;^%j2n)e+ih%c`7-7)ONfuy=xC%JfIF%A=(w=( zFE58G;;XyQ(@H))hhY4ER0YDKu6jTp925wm&aFeLw~z82uz)Sh9&y&BGw{=U*)X(6 zMDVONi8i=zcQ_X(B~*5Q=}|4qD~0nMW18z&NYAutCByzO&c};cR2qJ2C?Te8iCuP_ zlix<>PGO|Q#KP979wQ6!i5hr;OqiN#+$dd4EU`*XykM;fWuQAJxSETN^ z3N)5%+q(7po$6P1r=b5Hl7RJ3{Ruyi+~J&zH4@x~m?Ab3W=tFv7ixs}I)B>7cWnIO z47-z5l=%MXsNGDRl@;_(<105{)-hgV^{+pi5cKUKJ6x9!-mSJ6duI=W0j zfmvNuwG5tbM-PGt_&6r!P#p8j@g_81m|-yuZ|63%wS~cu`*io>3}tz7@k>Bf7BN>B z69Is!jLVq$4Lqk`bQr2X3saP`GBdbdG)8v6{xxz`#cj&GKmUU>&c$hUqbj~r+l2Mp za;+zWOr+Nmec6Z&90QS#iKL~e)5V77V_82;9~q<+Ha8kC-lud`a<7a1Nh8^EI_yr> z%QdYM4xvuhyKDF49Zz#wm9&_L?OZpYZuC*D*wAEA;2~u|K!3BBTSB@QXYB<)3IdVL z>_s^G2^Lh};2`*6JU8D%kfT!;J@+0w8ny#-cdt2#!KByxTU_20%TZ`!5LJ*xstTrG zG_$aPTgx0qB+#EiYd7&~H|k?l$n}zyU81@7OoOAM3Q{BU^UvxH9b$<(LiIn0ud zalTD|sne|NI5|5@xy(K3Yt+`y=J_$rGFm)CPJH)hkS2uYVs+%Y1H}CUa+P zA1c-Uz>{Qc>8k;^BegC@>NrGxdhzENV{O<4U&pf=f{B*1S^=lme1$9&|s&5Nig6eKp+ zukUHTQ%$YCF`_C=pS=H$2R*5jPo6p%Jb$E$;X%+(JYBS+p3{RFsz=O`i|`u|SmE z!^&!FWi{B>_sHrY1NAsQ)?jlU72m^8sE*HmTe?(!+CAXml=7~|J=a#ERX>pJz4Q6R zfeA4W*iJpn-*!V-Pw-Ujg&+!yji8;{)9g}Rxj@(_U{s)u6o5xR;xV@FYovkwI>q!uAK8DY?K>B^Py-rkbTb_W;-!TVGS89u6& z4g(ILi&42x5u6r3;kf?Q=5Sh>Q$X*G0U8Ymk+QS1@6C@(Asa{39+`RlBFIPg=6Kvn z5;l4G`0-g-ITt@lzw#-Hkj5_WMw2?R=c( z%ICAi&anG0QT*Y4L2`}d-EJB;pmZowVS{#G(V0dI*3P>OK*HOg|@;XIt; z2!zPZ!eeb&Fw8RtXMsgRUP?*|9n8@1aLtq)NWZZ6IT`3b-u=0|qGD6r_s-5k*Y}w1 zJo@n|%`?bdOob2JobJFX=s_5v6!JxoBX*ve)%5;}A`a09vVDDhFb9TnyWf;y3>IvQ zcJqtFweERrquRQ6BNBPY*eSp8(|drPrlF8+Vt9^`d(ftDaPSqITRH<{c_n$bRSw4E zhYyob><9T`LP`7^rjq6ph{70le5IwObeB0c?%DWiLsJzZoy^S5-y0%kV#65$85vUL zSvcScgMfww{5Q*y=hlhjzlRTdTFmNgsoQh5I`()47st;d$3H|^@OU0c%H)-=(5-$R zbU?W+ci)9jQMphBb~^U!a=}OZ#{U{vMt8^j{G|8w)17eg@*U$(>SU=ABAGy5mZUfr z?NmD@A(7<^)Ap2&EpH6wJ^s#n%uvYti(DKUI5%#mr^k#ATK zeU+BRxfac}7=6AVGsX7T2*mzam?w$zM|<27LT(1 z`C$y@v-5{u3gsmnOwAI_jKIG=@y4>d$PMsuzjLS)GM%EHx-oxUEz+qP7x_-j`b)RT zoG>6q6SP33K+Z`SDP#|cv2nR4<$Pi0l~i3lgaUsfR!5gDu}G&&~qy-YwPT@m^-bqrgB7;KUFPMS6fWhmDdq zv;l=Qs1Z{)%+cIKH?ceO0^gIW-4bpVaE1=e19irBTe|8p0cC^iqfLm*QPkIO!<;06 z{OnOM8Fsh~QxvW$ib8#uPQSg<8YfZdZwR#()<2tnBw5+P{LK;KkCrU1x#SPep6xc0vy$Qc`CUyDoLJ?}PFuEbA4Ptd zrsl59_0szf9(asph}%BRdoYiCm4xow;205!}Piy<)~0SX2fZ&ZCC^%c5c_I3O(nBPk6uw0EW zWnY?~uroI=S8b5Qvo7zkMQNH~^6Btxo5rvlK6|Bw6A^u!#NbgPa_5pOk1a&kW?gUM z!(3wc#Mh0Yivi${Q;qIUahE;Kp0zVC$vSbPH7H3fNLWM+Vz<<^G~~yJTeqDvhQHmU zCr|1Dp8(Gr2$7K!S7t~71ve>4fv-Y$^S2i#H6YPb4bYzO|3gf2gI`$k35U^Ed&mh; zYCVz7Fv!h-(a95s`e>j;lZ5K&{2E7dwR96bUE4^NH913uBGLVBtC3|Ew=p!5+WUo4 zreJ-PGH&$kYk0}U>pL)jE4TnvbDU2Y5#(oNTqtbh>w4e3o`KaP<8?I7VI(n0OdI}& z!)NV&+z>iClh=cn2D_of({txXZigh}li?qq!R(C`zj?5iPDR(mFfotIc(~?rNFJBS zN74CF!$rklvB=oVC6IIzIVfZq!u9LXOMiwK`VKJ9Xs}=Y&~Ih6VwcLTQd9KQXV+Ij z_I6>mH!VMYe33wsX_GYC&J!%}(!3A~u(!`m$YV12ms_`cKJ}-3q`mwIUOG~@Vc_D~6&O!=ppC_n0XPaQpm64IzlRbUz%9Yrh zoI7~3VVL!dImc`CX*b_bwl%{y2`z~)mj{eEo~SVJUW_#DelIGjcvz1d)A?tXOI!w_ zXE2ob{W{!6pp3-H&MCl52%cH{R2+JGiok(JR!3(q?fI&`vxzp=)`$e&|6^tY(ulBi zY!JUWH{5O{BO>t9&q&|cCzF3f4J#_oT##?7ZC>VpZRx^2o@G zNKDkSu()>*Eyvo?bn;PtVh6&v< z&`+T-ADnw1C9375*KBjAF)U1R!2QLIpM{Qgbcc0qpko48Ec`GjEe5ikEB0RW0wH2& z&#IrH`Malra!|Z~aOCf@b!UONYk>2zxLMUMj4`xZtAxSaL4-v1yLZJBx(m?}7}kLW z1{;2c-MWDUogoL{>3|#dLuVb%b7QeBpD7f8ns6JVBka5;KXbX5o z=b~PW{29!rT#YEsNO!c!;pfk-9c%Zfd1WVqiEMQ^VH3QnFqB@1J{55~NA*XZ@m>3u zjqzj=WuP|J*RBPJhkGaJJ&)@Je(cZM6twq_Ki9mS6kc+}39>t+}p?Vv1t8=9EV zxLr{uNB}#moQ(&DW3bs{EDA0t0Wk~!$|QlV3zYL<$HCbdcPilE2}l{v z=aHvkh&VkF>e&6>)SJz6X>EDp@6w1+5C0GX5)rS2ZSZY+`U>fz+)S1HJR zma$99J?0ik#zVbD2VnisJuz`{s`cVflqcEknUqUS_7my;n^G>fU0oNFgneo#e*XTc zD=C|MCyJKG)5tfvi&pU?9l}?JKW|ZXw6{;KUpXIM>p&#VAbCmG!u_-X!kmU`VNm4h zQf;ux;>-{h3r*;bgU8vPG4v8$DO}LP)FVsu9-En}KX1Ds?s@AEy^U`?Z#+?#<2w$y zpcUK*#t>nWf319Ly=aOWtNAZn=~tc{J&BAF`o!;+=YN3}pma2w7NgI8*WnR#RE%`1d9k?~$|FcIuEPr?NqiHtm01*1tji)}>3W+t?mcl{>bw+Q%<` z(OpdL?dyXr4211xVmHqRr_B*@%wy`z&6qF*dm3=Dw1UWVQ6VN!p7blt7L#X+!p6J$ z&5RA{7Mo!u8aed#^BO!{_$4Ky=OURjo;?0oS6%HZ@mRM$(_Dq&R1}X(;#pL&Wv)#q zCBe%Q8L`Ywe)HxNGEDEb`a;YJ17o(eXa)I=!SEUdE4zBEXj$DYqHW8|$0{x9-39aK zoi3@??=Q?;Qyj=E$gD6VOCDI7KmFEdo6#DJ#CSNQ4-M7uJUb5A(`j!rHh1P!8Yy=B zm&j-P!KATM$(5o3=iO4f_Us{m&)6>_6l&)1UDP9l9|&flGT256i4B67-pXProVA4N z8>1_CaSd;a=$YfT9hcP9-eC5r+BI#Y^yk&%1!B(5MZ>z7t9ZO-&#UEL7<}d+d$}3( zdsxYR&o>$iEB@49LxC~Jzq(I8SO2ufhQ;VOfInP)Chq_zr3liMS4H#y*OO8wc&KMzP z)A4mi?9cI$;XQ=ZK+I7al+L`2ij8HBNp(P!W1LN6i_@<-_CAlrr_x$4$qo^P5z;aT z=VHVhMch)z(WR~@W_h(%W2J^n63!C9w~3cX0ovuP0U@QQB6}*|>7WVa*NQk^)7+rKx_O-*2dRGHpIjXC!dDgy&CIy=K8DR`j*$1(9N4liFD>cL64;5i<;gv@_veo}F!O%7 z=BZSr?77^5`#_DIq}Hb=SVxFJ*>5(dw}DXCR)^@0pm=gOk zF52<;s{c?LhGI|!hh$LC(dPQ9f(UDdOu$cDB15v@_S())bbB+K3U0v#>gy~GLwAa7YyC?Gt{^WzMIXxKu;K3J= zkolIPg9unNaGkPEku~_QG%m{uLo}br(^k)Pg*-A&$OgtWYMJ{PWv)eS#FtiTq8YS= z-%MZ4YKs9cn6A2ipXTyjMwzogDgp#1hjSVNWh8&1=OS+~KZ% z&n+MiX)CK|FhTSZ+l^<$beMTCQjwv#6sg)9@0mfdyhrKNF<12r*KZ(9BQTQp!xl!S z0M`sii2X=7*!|-O)laR|QPAPo2K+dE+>sLnebuG#pgOwwd=&P$$MvO>sjZmFA~is1 z7uxh8gDBf6rj+$|R0-Zpwv6^A)u`jCy~~ESq(q}@?Zfdh8(h`J^^uvyw0GIg!h*-> zK!?yteNtj(651{8pvm<31hS3=s%N2wr<_0#QUIM-EwKoEt7Ws|o+OAYvdHGEIi4#p zmT_AOrN9JHqTo?WfC`9#)@U_rk9Q_IpT3cC>Ajpb^EEvzi5W~D?>Re*41pW28g5eK zhn-F>Rx-c$8-Bpx$cUD6NNlX2)#}4$EvZ*Wt~b5jySlfjr7Amrxias=W~3v32X^4>uw+G6a89 za2jG;9bAn4)(-+Q21|VEA8b2ovc%9r{>(H-DDj(z59O#iz`ebE8HQE&UQY$wfgays z@wjhUzCF zukvgSF5=qJ`uP3|PEJmEyv{bwZ-#e7|Ykr0_}q#4xH2%k#)>tj_=Svi=kUXgHHa`^CEC66qUqnJGkI=Yf>p3QWt?!6@6y@ki#NlkdsAF3IrjqFDBN-F`& z8r-=mRZNzCT%@C;ldEqF<3DobdpACrc#_EwpG|!PjO!xByq`(RO7A~(NX`GPewLS= z`?OJDkkPe(ubrJS({=6br=_Hfl$3l$kuhxr?yW2LUZR&|nBXKDyI40HRPY_!q&M&K zpqJ*=I%ZrH?YHi~pTIl5MEJ0}?Kng7lqX z?JSErY&c3+B9NmohX?5X0{$=Zv9dA@l9=3o`^^!X<_J8;4{TU(+ z;`sJM(l;MEZ|2)@7i)x?UE3eZRah%w+gxGgo_QVi6X@rJBYDiYT{*vg*8{$pJpkX{ z_dE9WP`}^Wu1NxuXU%;dpDhb4t^sdlE}U+oX_!^>AwNAVb45|nJJNl2@B)r?XIEQP z0@+IdLS9EreIIY?ayD!A|Mn9}~b`3Zn>2wQQzw^Kp67*c@ zw{Gn%6hpukY8*`A7Wa!icad^+M6*M!s_xypxA$f`+OTZvnp$uQU8nLq6}CP>B-~50 z!j2Nk_s@H&dA_1sq>9K0*OT5%;v}g2>V=s13AZZ}tU!s&{O|!$>0WH4pV`)0m>J1` zh4IqPx{5I(rY~HNRd;kCp}^{I{<8eB%h^6-dKY$(OgX9=zQJgdI)r0YkFeeFus$*j zX`_Y+PC%vsHo6_m;w;#%G2w;&U8ylbof#J3aJ4WyNV2#52Emh69kxZFw-(*&XP*3K zvyzf5R7m5vkT{A{NywPlpupkiZ|2kkj-O)U`d;UGVdsEZ*K>tMG!NN6B+_A5_4M=S zR|rc#dah3r7NRBP=I^0Ipxy*aNiP%+na?MYyn6BU#pANlj-X@U;Rya?Hf;`QDzc4#=2eotEQ`#x)n_S0>FnAU|^mNc|I;toMFEXPei z2b>}>5+ZPm+cZB}y9+eDccnInL1t}%^NWE-(c4?dLxY10OG_n9MOD~0hMsN59SS*$s1syU zxKX|x!Y^AkG_T-000+igD+lfIq=9#YX! zA|^6$Xv0zNvHGWFf2DZX&nQAL0hIn4{$~`A6J(ZIyT@eT$uRzy4pC<-eEw|=DJ2}o zYdaIty#8FektH6<%fpj`?HFkH{`g&bw1C}ANT#6ytcwv3d}YtVrWlA>IXiKJx})h) z5Eu$#QCFd(#vJ{QDN5NFY+6{s@^`1#YafIy9t?nP!q%yM;*y9vzbk!}*|x)tw8wFrVUt@evdwt;Gv=6rf;YI#Y#<6M+b{u zc=jGIV3+FU%jm|aP^7wg0MIj6b+6^z^;m@JUGXL70O`!#%ddG& zRysddPnU>HA!soTWnHJHr#XIyWv@IS`_d`lg!zS?WYQMa%0Li`n>Lct7;xHy$DnHQ27_=M#RbB7#$JYa@9b-X6c-B^`J&f;aODei55)?Pu7J<|OvP{fUlzdE@Gy zWCi+{7^2(R38hFooZu1=*fEX`^$bgu-by|uP$*qKy02cYk_7atq^jykZW7gA!qvnY zsHvB&Hd`UkjkYRu!81seOxv+33zIBDdM-qg7xnb!G2dyGa{ap|MLk{0WN~Y)k8Ro~ zbfp71g#{D%8j$W8e!p?(w8JSh6RsI^BBG+G&YmZ823IdomB$PbO|x9W?ki4+zSSKX zyvLi>lbRi3f{;He3yX8}xtQ@NbwQM&mbc%P-iOxNS0+3nq7~&fEa^V;A2uC^HzLPu zKH7#QkTWRPt6-*(dcLCR@lyVERG)In^BC+o{uU4&k_-8CF4EQa$rFs+l1sx~J^-=NjzpzF_LPEkqL#_1i{0f)~P4Q>KDF{I_7f&1R znM4g4;y*{EY88zxp$x=iv#ksx+`RmJDRdk>*iowchh9umh{7EX9dcDyWm{tjDssFJ>)OYi+YlMH!w3ZBLSf8)IIeIN3Ce0@p0ybau1Q5q-D?-1?9 zj&eWZ)j%ZYo$_L|`^+bx$+l0s_9hGb!y_&6QCoxAVo6 z?7JkUit+0o5snm8Bl0LXb>>OqMR&Pu9HYKzf?&qm{`dpCY*IKGJ+H#T^Y(A$ zIpZM#uOIFi`>Lv|BTw4J!m~^7Hs~*2XcI%vUH7D3gvMo-Z{iDv+;sHx7Tp1GZ&I?` zz_?&2P-Te4iMTx217an*T%kYZI37(Rb>Ck{3oC&mPn9>5M7!KJNTs83R zwDk1CyT*4<672g%M^!}~uL!ayzc^vDPjG878{HITa9wG6c`_z6#_QazY-~^s8M_9W zP-_Q;cR*Hw{=H{Ea14r0fy+s0X)4ZVPyQ?EgkaJKjZ~NhY1@`9R;Z~3x3aNgoOcxC zc|hk=Gczz`I=ypE1+I2z&uVLH!Imyda`^YgXLuCJf&q_enci@>~ z3@yDq9Thg=uV?)+1lVZ$m5AA20BN_|Epq_3NnEeaBJ<#58JbQdX)N0w=586p{wN1- znW9|pxfo1&D0^^%3&&`hbPM*~{5QwmUaz|c47+TKQG2FV_Ae$pr=aqJi1gPK)dcIP z6btpuzEGU7?DhW;oHLGv2Swc>_)$BYt&)4WUWlv^UoC1L&m zL%(35<}*Kd|M@q(=hD;DBc7Gfdj)FUKcryw+_8G-R~P5 zd=X>tNImb+y;S$HmJA(TT?nkbign6rYoAOJuq!UG`0d!kK1pEfSv8>6)6Ne*KHUv( z9pOK)0Jb|i1&`)@_@Xqr_uSpZ+OMW-#@LD*ic+dGtA?Yl$3-* z9TIZtekH$qJ&E=esWc3z?;bE|>iVdFw^uG5I}gvfdz+UZ{(CE(4RG>zr}r7Elv~Mf ze>D2kVBj(~?N3rCox7f9ni8t`U;qG|AZ>U8RZ+09r>D2Kfq?;XQPkZx9fF3#;r8v< zX)kvE_e8s=UymgWc3<9s1daT@-`I3&ylSgg?hn>(8AOpijOrvzSr#?TB!{P2fO`X+ zcB>}azRsJ8i--(iZ-_Z^i26n}z2xfk9nVgow&bK$JdPktKKkGN94u%F!YZs~aWD(X zLBI8zGWy#Dwj_wCu=1on3h}Ef!<5&w1QxNi2iU=Guv`F5r{D5PI8d8>3zeUsg*? z3J&_3YB~jFz2u_EJTDvfLmYr0=%p)Z|98QBSy5t4H3aNyGa-%GBm16&TXf)Q`d zhd6D+d$$jH(7TEC5U+ir2i1}K?Uo77Gx@0M(89b5Yrse(Dmo#X&)od?-{sGLmk~#d zS~U_#ByYWzEI76B6-QUoCIAB%bOPxR83PFo2nfi?`{1{&rZt(j1-mUrmHhhwc4`4h zt?vl41itaJxBcp0!*vxrnD`s4<*fjYU7+S$Dk%cB4{#Uko1 z`RiBz&K|(iFqYsudUVGD;rnfei+szl`BPmYm8sLgtXyb5ou~W3*!f`fBLPrRQt*G@ z>)%FzrR>4QyT;PigbvH~D{zkZJ<|~w=mnTT+UK*zy&QSMMi&xWDg{YQWlAkc2MJc- z>ttaFfcn&o0iy`&%r5u?&bK1zT-2cLk$!gC{DQ9%5_-qR>Qoz80fq@TWS1rd0;0e2 z+5HpTD%+Cc6fTG1bmbm-GWmA!FhqU9;to6o?k8^BVZhP3=yr~weZSN1`O9M=8v1m8O zERH_xC#t@n0`xFknEFGw`~pXCTp6&!9}hNf-YhnRX1EW4V{HrNxu6l>xXRloOZuhU z-npleP=DjBc|@Kv>$7{g z=Y|?Ak@weOAbDqaj~d7V_Ih3-lSc3GCU9G2*T)nNaY5|41_R9KzCzAg!8E77z`REPQU1*_Df_4B$DbI?T zco=$q6U=obF|&-Fe`9tP7b$r)K9cEc|BLe=#Dv|w-%K?%#J!!8>c{vD_x?%h9?8J} z?oc~9zV$wq$bHXc)JUN2gq?Td*omtKp-uWZ8bZ;w`p7<%At;Y zF|9;;+#IDuveGvzIc!)8x3MN^u*_gBr(n+TZ`0}Ua1F4YD!Bc-1_iiq-9ZI<@-2QW zr)Vp;3|mFUhvapQ6~it6)K%(fdv&$w1?;j5g<~^ zpP<{Q==_xWC06{mcpId~NGc#mcVy=mv8bT9h6pJ!s>Sn+m|ruhDzH{$X%A0Dlj}!_ z)YSnv*n399!p#SKRB@2M-+* zu=>Thd+rU+ngx~`t!z@r$WlJMWYfYD zmx~9O91yv-VY#^OD)_}H(NmUl9CAp^(ypiWUe!*D*)RO>m&h*TESC`aus|HOk~5Zk z>I>`*&VijZHN)Y??gSyHUz`gp)CKkZuv{7Ca07$CMDnyW<@fJDbtk)T&ATP$P!qR! zU}gRI$w}Uw(u#z*e}ug!Gwc6CJ!}vHORxkvJ)c z`ZMMC!*etw{jKr*AJ{izhNya4V{oelS0oBNPg8fPM zhq$bouNrxcAEhx6x2nCB%;MReiJ2@jg88TN(sR;LP+k+O8(_MPjpi#h&lf6Gg18~ z9|KHq-F@k{g8I^iMVQj#&qjg?D+s2VNFptLW53MOO>Y~*tD$@GVie*=)o?lHM)&BEJ_e;;&OvO zw!&nuMBdG|%*S)jnX3Jmc0aiIi)e-OXp91S`6hanE!c?GDNW`_X+Qr;-SMalPLEi& zG|rujJ#+%o^x#S^L_b+H1n7q0ISz}#`aaeZ)RiayxA`(PvfxDOvGBu)%mkDE7xC8a ze>b)=%>kLrzy^$Uw&5St#b3=V5OIQx0qu4e^M|noO#7+Z;(vvKrI0KAdBar}Dg8S` z^^ZfpwY2Ct9ns8ptAio7@YP~!Rjqa93+2{H?|{;qwLaOz9a1w&o_LfEl zwVkPr4L?t$i}(NMoT1)Xr|;{pB}7>UNY2}pk1;!6QlcW8n@N4^{%h6&sMvN_$=m;C zrxv=@ON1>b*wsGXoj%vD|6gf&Oa4B&r)0x4<==lq8_-&Oh(;P5pX#+YxEqCpe-(8p z_1~^5#8d)CA#~IwcTuRF!RvsA^`wxMpQMfeO|BwY@Bd&HT-n*hXv3#d47+xHFLHAM zJGNsD)Kaco&OJY>AzRm9c82mhPxwIuw$%m0r#e?)1ZT1V$JYX2(#ae2cQi+Bh zZKt%GIywkC7!p(AhyQh^Eb_Q>V6hyH*&aAm@}vPFm%Gqd@I9V8hrjf8ufv8CTwhJz za<;Zw5*Eh5eW%J(_phg3hWr0MHhRm}a^P{AQ*5Pu*{}-!1{U?}--ki-cwC>Kmk0A7 zS@dWLA#Gp2#H*W)AEK7w_dSgaUtwh-heYTtnA(2VZ^9HBfXR^p%^NgF1#Z&_sL}QZ`d`~wplVL)O;SC7 z-m0@8$EtgCIna^u&KG6$XMtW8Q_Oajk!Wv^5iv;vV(^TS#C+=3)vzUtW_B#b-c}tr zL_!d^$A}6JqC+Y!=hl)A2U`&F1Q$<7PP_nj@uFU5+v^AL?Sv~+l^*uFO?HMYjPQVWF>m2WY8++bX+!G zUtLpk9aL;|A7#0|DA3XGwWq$pQA*=<=6@LLwm-xK&ki|Ipxu2@P}Vr>j&^-A@HC-p zFfldNk}#4-^G&lr{qi=_-dSq9FlkVgKgrFV49{=pZ+>W)51)2;weR}6rluyqx|$9> za@cin^-&LEh$-1_|OTRQ>m4J8zs`{X8i{D5D? zJ7nZE<`*V5S668V--lWmozI(_>e=#|#ne~fi7KY_AH=&^V<+I12QdjPy!^Qk^&Ierr`$H1CV8;q&~Huw0?j02_6ny ziWP#$doc5`OaIzX8p5!Y+sus(=t%`iJyipP7m?y%Xs1nb102ecJkU}&9a|1oCLaTCKm?qqp^n2*n*qg6LTP0QXHZBvcCCP0Ymrs_KeupDsI18|Ubo-TvN z4>rnR2;UB-`wtwuwnKu~2V0`=Thk4Q8!V=6C;RFQQFCT9GThfz7QyWP*TO9N`uLnF z7)@>v8b{Iw=(0=sr@dm62j@Wm;(U*+MKqbeGNgh-R44!ZfnV+0v^M~1{8LRgw3FA- zkZ8{&*bN=oq;N?FT9)#Um(5?N0>SJTV61v|oqaT#t+%&#aPb_=+;$QzHX|BWb;0xM z>I1gCdbt)_yuv1w;ScYB0rD;X@$YiGVr4{2;%}~5TJq|7Be|fxeY-?uI8q1f6;uEN z;R9);c>}?)r0Os;==G5y$M7)A$8_-00t<~K9tu3E`D`aohKmkk<~rT?w!`Sm@V;k` z|M$kwBy~|Vw`((CqsA4kuKsdaUmq2atlV85*ps3|^IW}v$K<}>{K?Qbn)A6JJ{WSp z=T}tci-@AnqR~tn_dS>9*;N3znu(o2eWYlIXO8fRH{y0`0pwC?HmYt&iT1>MaET2|19qd^4sJ3y zqpjVDs{2;VLuCw0M9phL(GOtm9slp|$H8>TOVwe89S(r%ul@1Q*b&XHeD+WvmM*eE z|2+Q$nhD_N^seG%4t6Xj+$O^~YN^23J5@59N_gJi>p*fS{nh_TlhXxt!D_PUwnjq|} zNLdO|8$=$x&;x8!cyez;e#$2x7bsYp#@%?1hK45S1V)nInwrAg)EF`SG&GdFT1*q` zcP~i{jOvQAvZ^looEvS^U~<-H{smC3W3=;%06s3roJ6bBi@5bmIoHFU910B#49v>P zau_2b#P|90eNs<3Q_t#S=I7?bPn;+x(BVU* zH^24*r>^#RJpa+7KkDn@MHbq%3eg7L)~zMh|9eF-X6WF{n)O{ODJ@O@k_4pO#f{$TZD66IBCUX+qyo~RARw(s zNQ;!xFoeJW3IYPsNHZfX0z=1;N+U6JcMaVzG-sjr^SW?y^nwf0*7 z@Z=*)aFQ~Wft@|z^3yZbTwn?hKaL~hr{Eu8+x!Xrhyh*(76c2xoH<%Q0e0|MU4Yx=YO>y^i%L-^!PF7=Q5^*A#QLLK!L}Og zW*gfBtidS+Qr`x}w~vpn&Uafov5Y7d!1vJ3(_fIxE+~+wJNM_6=cjE0hZ$_zsqN&i zz@S0-?$$%N=(uAhdhp-<^N zmX2<1P=px?ylW_}!8J!&{=QThSj%7o4;(6T!CpFb9UZWAl{|HrVa#CfXuEAIHv=$t zKzmP(rQE?K>li_!h*##%jeK~Jm_`(v?iow+R8uns^h01p$Sc7I!f0HXH9r1kAUnjQ zDiY}D*9^{Pmhpea^2EnyswBX$mT|by6c!ts0gSix0}*%|JY&DWFa{ghUOv7rzY74l z2+KB3?|6p7fPBv5id%<)X4Sv6ta39@ErD|G)H--;N(0mOE871y zyf}*ZcI;RU6%(m#`QU~iT*Ep}AA}>#%=|iT!0X7%E0S;;OqUNPv_fR9tCK{zCO}K_ z+yD7YsK%ht=;|d@U=|{23dw{|h|nz%jZRBLS|Si3>(bJ2mE&(4%qQg%&UkNOP&NPA zix+JGjs-G-)WV$fY`w{`TrYkz^w0f#5P=y0xze=~C%4L$AVcW+fnUZXR5(ppW6$0B z2wt4vGnI0w445ncdw@z{LN&h<|Cj&sU9;t8>b1Z=gGoY=A%V6zz5>9c-(p8{3>pEv zC%$dB2{g4lb=caVa@p>Qf_guc#Y!DFeGcy?(G8@fU4)4lhAU$Ib2p=nVYegYX8!ev zrAv5&^k=Bg1C!WCaLRydg?HYvu7e&g0N*}&cs#tH7YCmTGAV)pzS$2pygdfj(v|oE z3%*9`0$fe_?4f%#cN`}e{6U8#LSCW_@x8at8c97-GFBj0`4Mj-i+^^Z}ohmr7VsOQVaPXVAHg^k|Ic5;l#>-4#dzrZjWjuA`+;ZKzwP+ z7M467v()b}vb(Hm+Ag&`d86_ zrZa;gXsRIWG{?L%Zr}`5m3u*t_#zR}7-}>Q>fg|Dxt0f>6Ls%+09#;^TT}c^E8|*l z_b2)1z1ZK|lwu&(n4CNf+tR<@{Qy0HlP!P|iy5A7LkB(;oi?zAxCoocpXKz}4!H#K zqA_d#+ypOgaD;l9EPIusB0GB(k~NPeFc^_Bd~Sw@S*n%w`U&eKDdA(*o+b%>22t#{ zEW}p=9}FbG-+}+^TI0hnJ=>O02lG*<9C^R=WWXlhv@>&ui~O~m`ntLlKo(rf;e;ph z;T+Om7l3D*b6tAT}bOK`{(Aux6p4 zfZ9Ub&}Et{(&z-i7azr$CI=m&_x(62f813Y&xAjFhuS(8R8n8eQrx^L(UJHF3RcI= zB_c3TkUo~9N1=w{Am0!5+vL=9hS(GGsf_{fr)y9@qi0~?xKLm*atM#V$^5|)HE24);!2KP2CgM^cbXOC zYx6pO6rlyrRxbSrWL;Ze8fgms`#qF#_|E{Lx^mX;P-TI}`Ie>5gwGx-O~5{6F{ne99_mLa-Fyz9rqGHL%;>J+O?%bm9(SmIAZ z%6Bxo({PU z2~Xf*9!`bpNcdBx{`djQvDiip5B4zd03=iEdt0p*MHx^+8=AD(5qRE%t zBLNMZ4X1Z5D}dU;awq_>KWv)-czQk2?bC{XcKYo!OmNVV04W}jU+a)an?ty5g$P|) zdZc9NTj`8xiEeEpmXweeAO^4(w21zGrjIiQL~Tcq>vFKuKs32UMb+#gezG$`l9)rV z{TqZPPH*Vx!BjtH`ZfFm3=Xl8;1L#(wtzsp$bXv&O~FFmM1P@;z!eH;tC%%oNZy*U*8)fbpZR#m*RDz21kH*iJXO_ zfT5e*)w4>!yIcR+UScGC{A}!NJN&7oy*-CxQ+5UG)9U^&|DU~44szC{%h9b5^{BJh z>&6hu%|ibR7zUlXB>XfqG>}C9ZX!ZYT=?@2$l*BVvWQ~i;&k7?=S5-|z?C`vZ=8=Q zeW@xpqxkYAr20&$(qAbnlqrP?)6Eo8TUdCm|GTbj$EOx-jC9LIGzlu?E7I%|tP-fS zg!Nm9sy1XHkk0ls-5@j(5|Fpr#LH@X8#VVN|{oS~i z@A)Dc{Ao_^z~ABQY7drUP`mwXO9E#Ra26I-={X5VR5;r{6^4KKfNLNfHy0&<_al^+ znwn(wZ5Mm7{{Hf;T%Z4*xPm=i!FbXw#Juf;0zEv-Nqi6Ro~{rs*ueWCr?mQ(SP`jR3Tx4D14uVTS zz(xAYku*gViF)kpj*4XW*{#ONK^%gBzq61s*nU1_8f2v8M(PV2&t$!7E$=LFlJKQ|yoYd1NN||wqiPb|xWzcYi0^WuNw9^5Z1GVN_Az~eL ziSwQv9KE308@T~Fe?toHDwH;CwnIaBtNuRXlWp8_(0WO;>%~Hf{2*Ui-vXN9gjd1A z(8m+t<$d5-N58hoHx3jnz!N%y;=$>sK~nh+0z**qww&Aw$+I6)`7(EzEMQZ zu`WealzP5KDYm#63{>?&D7T~Qg2378jmCC`mwrDV!v8^yZub_SwLY|h@|~B`GRwg? z1&&l#`%cwH2j9C)EeLg_&;M--IXIdrC5t{FBseR#z^sDU51wIg#ApDgxDCj4&Fd^q zr>6r=gq8-b44ZWf6ph8is^(bd@pwX)5$M4*$uIZkUm#;90xTCC6m|bQNRxr)OJe_% z3CNLa1_mgwOnkfo0_?A{{`qhHPr&8bIXH62FF@UTtzI)qr z0}MXDYhN!0@j3HIzz#M{LIwhR#GkMWTSz0=WFPzbkzarcP8J6!1`z25zJe@f7G$W9 z$3uY*Q9FO(LU=K+NSXbF#D@2$j*sC1@6jXcMxT0OTJu9hRgS204990L<Y_N~%c$6n z@@M){9z+6o&GlGYvpU&bisgCBwz@n01Hw&u{gG6z)#zb@g2Y@(08L16aKtuZ=E?mX zmRDIn;jHrCfV>P1b74Y;ggZ_xc$}iBYOv*gxYwP+ zc<6j|cznQ(>z3rNE=znWDapvqeN*kvah_3tgTO7qbAPTr(#)4_oA>U*zFUKpE5@|Y zcTjLXlu)_-{aZM@bzo$>C`i2g7ug%WG=05!V^SwTkg}j}EI2@HO3weFdavnAzdl8= zgSmPoR)I!@Rwl^<8jrM(Z^J+UyYcyc`OH#ReO9x4_JE!=Hkk+fH^KnO1jrS)?Vc52ehwmr#=4!X;o53Z3hv%(Ys zs2<(lxt16aU$|rSL_i@US863YEe_X)UsD+fwCxCq_lL0(9hR;mdajh1nHlikY;OOZ z5^%SVcsXVzt0b?hV46d^?rV+L!TGeL;(sZ3(h%<_Rq2z0CZuS#6{p8<28%g4a_V)H3T&{m+w6ja@rNY1( zv)HRk!n41*2j*1TnoCC?3F&tXsvZeGVUW21AqMJH$B;fBuocZYKI$Un+jm|mu5m5a zel)14wJ4leN+zFuSLQSp(P18fG0jYF54zx)k?SpT1LR<70sd0MuL)&FH@A~NX8ue) z`dDJ|WpfFtOX@;Fsx^ZQvFajst=BhRnuoBN#cG$S*xQlo~=K|v(DpJ{!=XCXJO#RBc{TTihm z`Ca8mS#X)wkU8nm$WnG5O3%E5X2f4oSmrAIv7QECXLoeQxj9CbI%HEvhw{wVuj>$~Nr+cZoSunNM3R&(OZvsM~LfyHfJ7nj$%$+9() zU+&%~c&7|9esvyXK&kQYwRi9vc66>&q@2l&MIMeaOy(BdgAin9_@dUka__84OS@f%uXCD=Ej$dop;fjCdR5@b>rw;iNEep)An02% za6~2g?DPt-V)EVnD#EJG?c4ME2<n>0h_^UBLTrQV81pEA?diPBnR z;-|fL?-}qG>+sN51}FzSd31;-B(D(%D_e(26Gwy`SU;1VsX-d1BE!8cSZLjqg&_9W zTVjWfT;A?(VK}Pja57u>(|(p@e+|j=Ksa+UT9M%U&&azmG7h^Vy8I9Zm+)&p+AFk% zy>L$U!z5~~)Ui$)5!65HDc2pWj4d1H^PNug)6((fU z&%69S!G{=ed#R^TS6sE~;9x4}S#87DPN@*YM z4(4yhY}-x=7lx4(`jC{QZ*Qc#y_VFs&38~;JFHEUB-I&|a}Cj2o1JiV#$>Jh8e90O za1Up>}GdJmG4(880|LL!*DdQFwbjT=>t zs%%c0jzRV;oOO7Y>97sPI`p(4YkCVsF9dIBZPnuCQG!JOJ;0M_UqZHTAJo#;JcrM) zIAr%=18?j>j-wt1>pk$h1NK#*g_aAYaDIgIu96W8X1wA z3R#-X!m|^I4XdI8#z#l4PxytuhLyX7P`SQaG)H4F8m?JG9HaKcr{**0rt4x}JDc}q zoOPlWb~;MU3#K@DuDQRVrt+q}xmQM&t*(YKWe}_dA^-(D<-7!CA_s>|ixI4huTCj) zQ+?cTkC<~<=}jP!`g%xH3Xl14yqu1YZ$+fF0Dk9!x(2*ualqbQv4dKqf&NDA4lE+* zcdlaF+esq{2RHpL5hC9IGI`TqPIlLoeNt2XH@4Ucn5N}@qS$T6Ba8Yu`q)H zu3JZt|6SRbh51kZ5(^e5BFO>BS;CJq$y8{Thhx3+x~>3QE`t;y9_>+<{J*%S}g zbi0uvv%00URd4-wmCpX<(iKM!w)MA@Sp}xqG$njB6wrD`6|WoCx=Qv>hL|Upx*mO8 zP97;^E=7e>W*vQ=XCmIiw&cB2Z`DQl?(MQZxsy^qa4U^u36U3!ct|?Usx2=-X@B=) z_4Sl1f6mz+m8A6q z;5)yyc6enH5zW`b6Q-P)2~Tp?kGM(7U7Qpn z?{dJv!N{}nqPw{Bi@|*YX|06p7Ip1zOjj|DDM8>MDEM&4dA@38AzUXtllDf5)%wlZ z&Ijv6>6{N~st%J+dHH2W^4SL*eZ=E*;LxD%Iy}GsaxBO<9K%Jk=Y&3CC}?s^pTAaj zICzBWZS# z8b&UL32HNrjW0`vLM%##9e;NJWG#2JlK5%bjdwxxL>H|0-1Y8J9dsPEUACIZ#VcI! z{bb>hIJX*-BBRx_MaAn@_q|A@LStY^w!EeXFMOS}POEIox69^^FGb`$sxz4E$4L^z@f@889tZj!Xmz zvkU2!FXcT{?P$?ylEYq=KliMvL`uVwGsr5}$%;u2(C$jy33Lgf}js*#Xy^c_t;7+_^#@(~7iy~0#MTkC@} zeu;d2q1hF({=5{d_4v0P4fpMDV$<~v{P!(}BrNQhAxc1jW)xB5vAi6^!n;Ai*#8mX z!iKLr*&;sub)M#kNo!wPKHjOXq$hOkTvegnzQS~G7(!Oz^C#Pw_sQ1g5H-)sH_TOZ?HYu9xqP4 z?L0&v=^^X2c(}DP>-^TDVqUfThD*9>W;aZ6^NlrK+c~_I3W}nTnvdF=cCr&A^bzL3 zA^*GDd%oVTi$pBLfh~OvVH~5))IB=Z0{(gHIo-3+djeOLlc!CmvxFv9BPm7!+&J@0mKENm84w{thsrj|!9th1e?+yl(yIvGo$eoc*=Kx{ThWDXVo& z4^Sw)a)grF;};$vXlXYsC*56U!eSx8WV7B`N8ISgwYaALZg#FgZpIaDw@oyCN4TE# zLM8X{y6uU(j#w{-uVQ12mQc{d7t zl%$$0$*$%)3lE>Y{62ZhSLK*SOw21%`6i_NWK;X+*<~@KQa`(iK20g92Egb5;TMo0 zKoAT%y5a4#|losUv`cGMjoPw4C8^AIm>-h9?pTDZJxf8Z`r z%%UUat=4x0fvMgu;?~g~S1{kw#~P-}MFdGoQ?cbk^LhUvQ+A(2v8F{lzmD9qPff6y z0&K|{GkM_U^y2hhU3i#s+rx~R-(Q#FIq~hm?Y?ZMU-(j^Ev1J<1n$0`z9ce0FET)J zXxH#@>z!8&%9CY(rBFugb4c&qmNAKM~0nu3g^pUgH(i z)@JJn;$(HXr!;bf!x6H}TKy<#b2j{r?ysux4P$JtVG%)Bw_l*& zHwSC0?~Ln9L*8ob;**h(d~C<;lMmJH8=d~ORioR{sNVLq%+?^(Tz7THgZOfDd8u=M z-)2bFAcH3+`@GtLz&erE`rdt>v>Cq;%yLweZ4)N+CVhx+lokWR$V`ULboi{Ci<2W! zN+OG}I3OAT;{@0Q!uM|=B3AEMzTmL^rNm<}rqSvY!Et}4q^Z|pbJTsw@Ck|;6WesK zg7&{$!+x#zW5vum?pHx3yFfd!Mr1QYNbwjU9{p|J?l4(Te_A2+67%)AgeQ<&ITA2g z9Kx!KifbEc-Ls#+X9(D3zAE!aHrjrzJCnJ1VlN=@_8N<58Ws22Nbfy5i6iNCq?HKP z8H4+Wb4i%QFoDG$_OF}jWq(f)^P;MX8+Ta87eDGq<63rAXIpTr{;2SR5$-0xQnT?$ z+mI?DhK_%oE4#xEgcgPG4?3@@Da?16lO*uSHwkmQlNjKi9ShCK?(}OEOeo zNkG4`7idnIOy9uR*sWdlpQ}fcY(}R}rVQGbyG-=FbUI68#VIh$$7J0xvp#=R~>)%~=5(NncCBA2cJ3lZQ-Sc>BNYq&LlK`QcY=?SL5bf#yJ6Mz)p$3lFe-VG}QRSjX?j` zs;1AbX0?`lXn*oN>fY_xxT*&>vrP}GY=)04Hw{m|?Hsb#>mI=mhHwsIn{uSOhY>jtN0sjuAv)))4U(fmCIhXa#)skIl zwwDikkQ1)t3a-O%3lggi-;^Y4tc%X?5}onm^ebs{uMTjM+~2BsV3*frX3SG2gYIn80F>JPpg?Z}E;uAwL1&}*U5VYU#j*?`M@aI# zb>ros&JEf9fQ$cpKsn`lpBC*FlmGPbficfl8=)6YrOiF~qFE#Cj5vDGZm&pUZHFq7 zO@OA@c*wp#awbb?{JTU`stz@lY|y?PYiru^IQ}Ec^tjFT)u@=adaDy0j(vbR07x11 zHo5%^%g+TV?MAS(EEtAwZrPsyB$~>bmSFsH_jEDdPM_Z+$A#jt;?;^faeaCmjpL2v z8L2mzuS*-@(sq$|=M#oDTDeAiNcWn2>FKXYX=q4R#yXKwX5P9L)t-{vMmUk3FEX@S zWLAxuUo<%D`KiM`YwwA}rXB04V0%1Uag3nTY^!ec*dE?`{le_LVvl+I7aytj9w?3d z1SaQ*?Xy#8Io5?a3i8#x6aPHMm9-^`vZ1ebktVbHwB3>FAxT{}$-Xn79B_Rgfq7R= z)rO{MMi9v_XxZIj-PMeZXP?J5^8ezVmuk9HJ%5faf7g6DWC$V8ztLpF5c1C4T-as* zy(aN$&W~Q!J!?#dP$66M7#E%By{jSze<~a{e}nl?-WE+^UnWvT*983#YRhZ%jns! zig9m=&z%4L<_tYfkVl^W+RpASw2UL@sg_jN+|>7+*uv^sg(N-QvD%kn?4-_mpmg5ut8X_Pmy+w-~#;RC{Z6gYr{6o3r;a~SL{7KyMxjw)*PzdfA&OI%0SsK z$os~PSl{ca=3SjQWQ04-#ee>BT#{qwzn>WrKHENl>76YR-mRYIl3c{sY5GS$DNeAP zY_mN$F(<^MvPtSe{8{JiSt)sW|AGSUCB}W)_ivsc5x!lU#_NkZWe$ZvN+=Z}{Pj zL=yXM8@>aJy8IjOQo1H^Z-p!HIhivfLMf5&W&NDxQWtm0yC%9fWb3sWjPBUCN&&-rY6+1Mm5z?Cbx#o@HM+z>KV5w~zF_Q`RlBI1$P;3Z*u}6A) zHD6VqyGT@+CuB8U`ch1<<0mI-MB2v24y(1998io=9I>tv_(xLf#6PVF3u~T>HV6-^ zcMgjfp95VDW=#5p!jZLoRHJp9uR!))LOZ`peX?;+KD9l?`;&tmn4pj7u{hrJpVVId5!jb}0P+l%N ze;bUn2qwdwm$_@E((D)d^~{}{#@sl`w#Xw{UpTf)iDVAkyzXdHjiPHSkm(5&&S{ByQArB7z`gZI0;=MgA=Uhc)XjAZj&eQjS?r3A)9DcgkIS{)a~foB|6^<}QJC^{+?Wi1m!+fbBM^%%NQ33l3T z;6HD;h|(H%uy6|oYjG9i@t3XHexi;B>=UCd6gr{`aI zhApDQiTOrn>Ac5rF}J_y5i+u{%#E`!PU)b?CJ&B1ZjOKwTp; z&`i(OcqlAZNr_caGd0JN^FDTE;Nhxw19K<$rAQCj>pssSVbOAM6ewvWJZY9Gww$%L z4UUjhK*`7!_cTslyeLd-nzVZ}=L*NI1s;QJa+i+sH&(h2^$N?cMh11F5^^QYwePq* z{pX(i+gDBzb`o=I zjXQ)0Z)1|XNavKASe2ivKb&Bka5YVPV7a*7c;zO~v(q`mn$?*3mIvRQFf~RU#|v{ z;E$ndRB3k@4*lzF(TH$OcD|CcUJ}>CLsxg)lBdH)TQ#bT9M;&sN=sc1zF$Qf|J|YC zN2b#b@o+W9+p*T>dTFn3`>>f zy{wju4oGZ~kzRUzhS`)=t#wgL;)i6H-rZ%*h&4slW=d3&Sc>J&)y=mFsR~QX?^gRs zpZ}e9RBk-D!BIZM9|z zF-eP%9pOu=7dAhU3@i!kKJ0Me40%fbw%N4eKtT<+%fkY zGRXW@Q?t4RNheFW<%TNP7%_rKK_ceoc#cDq5Up_TMa)mpk;+rW`Jp9)+|@2#^E} zNHcSUv0c$%!&{L@eqYe8EZRGA zQEMWZm@aNB*QXpU{Bm!<(%$a4C22pu-MzSK)L&~qFrqtfH_L3oDMQam3a9pTld`-k zpZ#0k&)fwGOxu`dL_EALj)+>hfrinhUO#Ko}my~*j zdU`=%wy}25Z=O|Y8Jxud$%P+p!b zp9E>-r(DfvP0E20A&Y@@cO}W$0`C*0JMllbtDk7%f_6|!cygt2rhDQPk4Do%RRZ2Q zBwxk5nv%>%wZ-WhFZ+tC>mZ_R^0^ZJFiVAMr2iBT#lo@;y0nhZB^<#e)s5)9qxu8i zWMNNJ-epGF4a=!-R6^~kBlZ?g;(KK(q}{87s`)N^gn$Wsksa_!AfY^WSz#2dh!y!h zy++p(QkAaMbSX^pip(|5Bb(P!Zgcb}@`LA-4(y~dJnzVwW&U`1h`l;s%Td1flXr3(Hwk3UQnPp_?&M z?@6VK%MShagk(5;)wZ?&>?i4U=-O}B04Ehgpe;V!pPsWytCQf z>dAP@L5?xjK50eMFkB9~o?j_E@_FHNvwA8bc?g{uC}?lD;_u96AKhY@MeNZvFfwaX zG-A)~F5|eQBt1gZj%ZNAWg7_bygyGhgwW@`-W|7GmAB=rG}8OU;{ zKg9CRoj=}}+(&+mtsaD2xa4j!bbi;O749+X>vf9Rg4Q!?RUSOVPxI=}1lx3K^Ba@K z>i9)eqwTS+jH$Hh4&p7reC~A`M>lidH`oTeZ%2gZyr-XSX(S8^so|)ox)C`tw5Y9^ zg{Q?I48=0XF9yTE3uwg7hKYU>MUR1i=JqzU2SDj^Xbo@iiVB> zdybb;AFCD#3Qas04U2EANiOj9t#$`(;ZFCwOlkE_MXft@Qk$EGms{Snb!H}8`-&gd z-U=x>s*+Kwg5t?5T+puv-wn`4Qo8r4pTR*LhQ{c1z76%tZ=uNcsTcIOg&18AW6*;; zh)%ZRtmI!2PQ?g+VOM#(ho%zFO$uq&VMuX;=Gc$Zt0HMT5n6$pgQteEdpKTKHuK4K zyvvX{Ud`b?izMw%X4$Og^LrcX>%bcWX|hV?#A zl$Lj;NN-H;s!Z4S6rTCL7!$IoBQ3Y@W^q3BP=cVDJ?FN8{_4i_woS;M`#?O?;$V}d zc%|jwNwb8u_~vHjkepS;{#xU)=8r45!#VZk7_bZP0llPwWm5drt6p#n0d6Dk*H+yD zagBhQ4Qn!yG3z$Cq;>*YZ-CJsd4#xTCWKPA(E#DQw ztK3_;7bY;NzB;L^qtxE8#MHFExpU=2e$Hy=gl0pi_LS(zdx`i;CI0E}agTTAS89HT zhiITRF9r=W&hzcy#j1&&g{xOkAzCwYI+^&W9rCRhP^17aRjlSxASx{_O(XkF4d5X` zEa?U%rEG0)e?M5-lz{(C6i6<=UAYYSZYGc~1S${(DE!vZxXRXM>QoHZ)Oe_if`~1M zp7xq@yTt!pQQ3t4gbT#Hm>ndKF{xHVh?dQol%z;SSA~jQWlZ|ycOisw&d_`9DO!ay zBRqlvt7&9nPD?2km7$$6@jpB@FFxGZ$!JqRjTnyXlepk zVNHk;5>_9Od<2mkHxt;pdm>&%TrlQS@HsgxWB?xglu_ok_!Zp z=ClAf3@Qox!Vni=(^)p26l?sf?)8N_ywt^*bg1jvm@PJuu4ek>-87zxUmr_XGRRB6 zLzY(NHF=z06WiU7ymO>fP`WnS+U)5bcj>Gs#TQZXi|+G; zvt7#<(nlzsS1^7s7_Dn37|iZ;&hB>3zVDfR|8UAnXjoaLJm6%o4+Vuz-Ta+rxFAvh zu7Zr{MPlLbm8H^460(3g;q0BJdgAQT;tJ3yor<_Uv*%)LtYhkv$pcDJWu2Fjb> z6srR<)Ml1VuKBtXNt({Str0keOEhlfQ5BoAyUc9e4;30`KO&wh(xoju+Mk(0%|nsu zfo^5alSv$~&tcqvSNS3&LldhAD7ZO30R7_$njl;Rd@XRd0pr-!i9c)jr|Wn8IWU}S zw*+~ayO}%4Ly-RgY7HE48h`(;^{1jBArY(1)F=do$l8uj-NdT!?#!{?Yu<(bqy6_D9``i%UvYU;KHfqqu&={rmSp z1>krl!Y>F7$G;!r4!nr|bps+o-1BWO3!*+xz>b3m3G)7*e|i4`L>NFZLq$o6lE+*V z)I4eO$poo!t*tA$IN_HnDk#uw07SXeoACjdFA9799^d_(p>Vz zm4J)Dj@R=8U!YrnXrCl^wA_KibW`N9?0e_d{+;M!s>%#jUD8^p!i8 z`1)ShEG{gx2VwBUY#5yi*d&0A0z&-Jj*Z>jTSN9Ev0U%kLErM(Ibh$hYnQ%@mK zAhOwfVztZgHNN4sO#rX%yj(_L(<**?0|@QwApV|O2x6k3l+myaGV&v3PO7)BJcyK? zW4-18X!!iJH0D&OeWu2PT!6iuT`(yaYIJgOf(9Ho5K3hOmLKLMt9sr&@b99h|FqE& zh}gVFLL!B`gmqs6nM~j|e4m0)!w5zLvJ$j7a6*WBy)B*k$kW5)g~rtKvJMbjySpXa z)<79uj5~V2o*yKy^GmQ#FPE;jfYuXM(;TQ70NihW z{h)pun0qKkOsJb%C5Q-kQXXh#y*^<(8vL{!tkGVX`T#1Fq>M6KAIGbz&M}HHZ0w{t6_W%YMyjY<>4!U@WTaiH< zcf8kux(ggQ;$@I`?FGe1!a&N5Ug(CNgg3~IfDm+G>FpQ1rFaewj{15a1MLLCG@+;U zVgY730xZ99>Z$vo|EB%~Za`XUD%cea_w_l{8v^y>3za|^suyHLKsK+c@OT}yB3#Ms z?Cd&8MnJMVMK0P93~x+LWh-PVm!L;RgIqZgP?u0ukHZC&0&D58QRfikQMvR#vJWFb z*b~-#9B8u%c~*@Ds?~>GRPzUU2MlH@SA|K$KwEp*X}L^QSy@~g6q6eXl=*!CcGj1H zSo3`qcvTR&#g5T@-|&a}z-)A7zA|Ng{0I~7sXolGT-DfUd9F7H4P(bXTi!UZ=vuYHEEzr)gmMv%zc( zqQ7KjE<;q}gpCd6KJdw+T3CP{3vIM8M>)k=U-t3{nB}SQAUf5y4xZO?;7-<`BpLM% zc(WjmM%R(9o;41{JZ;T#BwyLGABz#-uYsdOyZj?9twZ3PSEiDS zpJ<%ru|M<>=)Zt^2|Pno@!%7eTp)Cp@2|C2W9^pP$CVu6L)0 z-?TUDS67#^i!2b-1LtpiH>91Ig&x7cY_H=Z{f`&VBor2^y3i}Dp8WVNHy5$Zg44M# zi;6Z|G_2> zufb-0{QDdJ`1jw9`Tv&}S`o+B`+KPmN9jjrDG%CxFGP1zAOBfOT>dFW^tIdn19loG AvH$=8 diff --git a/img/vuls-scan-flow.graphml b/img/vuls-scan-flow.graphml index 8fd15da2..ab1269a4 100644 --- a/img/vuls-scan-flow.graphml +++ b/img/vuls-scan-flow.graphml @@ -72,7 +72,7 @@ FreeBSD: pkg - Get upgradable packages + Check upgradable packages Debian/Ubuntu: apt-get upgrade --dry-run @@ -222,7 +222,7 @@ Reporting - Get all changelogs by using package manager + Get all changelogs of updatable packages at once CentOS: yum update --changelog @@ -397,7 +397,6 @@ FreeBSD - @@ -416,7 +415,6 @@ FreeBSD - @@ -427,7 +425,6 @@ FreeBSD - diff --git a/img/vuls-scan-flow.png b/img/vuls-scan-flow.png index a29dbee525179af64e7ca27eece94ad400cb83d0..4bb215c22f2a271eac7d9b9da4d35d93eb26734f 100644 GIT binary patch delta 65082 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%0DgvCS4zY4NS12gZInp6>?kLGaw!`vOJ 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 KR^iRRAN@b`CQ&N@ delta 64643 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 %s", - i+1, len(packs), pack.Name, pack.Version, pack.NewVersion) - case err := <-errChan: - errs = append(errs, err) - case <-timeout: - return nil, fmt.Errorf("Timeout fillCandidateVersion") + if config.Conf.Debug { + cache.DB.PrettyPrint(current) + } + return nil +} + +func (o *debian) fillCandidateVersion(before models.PackageInfoList) (filled []models.PackageInfo, err error) { + names := []string{} + for _, p := range before { + names = append(names, p.Name) + } + cmd := fmt.Sprintf("LANG=en_US.UTF-8 apt-cache policy %s", strings.Join(names, " ")) + r := o.ssh(cmd, sudo) + if !r.isSuccess() { + return nil, fmt.Errorf("Failed to SSH: %s.", r) + } + packChangelog := o.splitAptCachePolicy(r.Stdout) + for k, v := range packChangelog { + ver, err := o.parseAptCachePolicy(v, k) + if err != nil { + return nil, fmt.Errorf("Failed to parse %s", err) } + p, found := before.FindByName(k) + if !found { + return nil, fmt.Errorf("Not found: %s", k) + } + p.NewVersion = ver.Candidate + filled = append(filled, p) } - if 0 < len(errs) { - return nil, fmt.Errorf("%v", errs) - } - return result, nil + return } func (o *debian) GetUpgradablePackNames() (packNames []string, err error) { @@ -369,9 +376,11 @@ func (o *debian) parseAptGetUpgrade(stdout string) (upgradableNames []string, er } func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePacksList CvePacksList, err error) { - - // { CVE ID: [packageInfo] } - cvePackages := make(map[string][]models.PackageInfo) + meta := cache.Meta{ + Name: o.getServerInfo().ServerName, + Distro: o.getServerInfo().Distro, + Packs: unsecurePacks, + } type strarray []string resChan := make(chan struct { @@ -398,6 +407,18 @@ func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePac select { case pack := <-reqChan: func(p models.PackageInfo) { + changelog := o.getChangelogCache(meta, p) + if 0 < len(changelog) { + cveIDs := o.getCveIDFromChangelog(changelog, p.Name, p.Version) + resChan <- struct { + models.PackageInfo + strarray + }{p, cveIDs} + return + } + + // if the changelog is not in cache or failed to get from local cache, + // get the changelog of the package via internet. if cveIDs, err := o.scanPackageCveIDs(p); err != nil { errChan <- err } else { @@ -411,6 +432,8 @@ func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePac } } + // { CVE ID: [packageInfo] } + cvePackages := make(map[string][]models.PackageInfo) errs := []error{} for i := 0; i < len(unsecurePacks); i++ { select { @@ -429,7 +452,6 @@ func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePac return nil, fmt.Errorf("Timeout scanPackageCveIDs") } } - if 0 < len(errs) { return nil, fmt.Errorf("%v", errs) } @@ -438,7 +460,6 @@ func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePac for k := range cvePackages { cveIDs = append(cveIDs, k) } - o.log.Debugf("%d Cves are found. cves: %v", len(cveIDs), cveIDs) o.log.Info("Fetching CVE details...") @@ -459,9 +480,32 @@ func (o *debian) scanPackageCveInfos(unsecurePacks []models.PackageInfo) (cvePac return } +func (o *debian) getChangelogCache(meta cache.Meta, pack models.PackageInfo) string { + cachedPack, found := meta.FindPack(pack.Name) + if !found { + return "" + } + if cachedPack.NewVersion != pack.NewVersion { + return "" + } + changelog, err := cache.DB.GetChangelog(meta.Name, pack.Name) + if err != nil { + o.log.Warnf("Failed to get chnagelog. bucket: %s, key:%s, err: %s", + meta.Name, pack.Name, err) + return "" + } + if len(changelog) == 0 { + return "" + } + + o.log.Debugf("Cache hit: %s, len: %d, %s...", + meta.Name, len(changelog), util.Truncate(changelog, 30)) + return changelog +} + func (o *debian) scanPackageCveIDs(pack models.PackageInfo) ([]string, error) { cmd := "" - switch o.Family { + switch o.Distro.Family { case "ubuntu": cmd = fmt.Sprintf(`apt-get changelog %s | grep '\(urgency\|CVE\)'`, pack.Name) case "debian": @@ -476,36 +520,38 @@ func (o *debian) scanPackageCveIDs(pack models.PackageInfo) ([]string, error) { return nil, nil } + err := cache.DB.PutChangelog(o.getServerInfo().ServerName, pack.Name, r.Stdout) + if err != nil { + return nil, fmt.Errorf("Failed to put changelog into cache") + } // No error will be returned. Only logging. - return o.getCveIDParsingChangelog(r.Stdout, pack.Name, pack.Version) + return o.getCveIDFromChangelog(r.Stdout, pack.Name, pack.Version), nil } -func (o *debian) getCveIDParsingChangelog(changelog string, - packName string, versionOrLater string) (cveIDs []string, err error) { +func (o *debian) getCveIDFromChangelog(changelog string, + packName string, versionOrLater string) []string { - cveIDs, err = o.parseChangelog(changelog, packName, versionOrLater) - if err == nil { - return + if cveIDs, err := o.parseChangelog(changelog, packName, versionOrLater); err == nil { + return cveIDs } ver := strings.Split(versionOrLater, "ubuntu")[0] - cveIDs, err = o.parseChangelog(changelog, packName, ver) - if err == nil { - return + if cveIDs, err := o.parseChangelog(changelog, packName, ver); err == nil { + return cveIDs } splittedByColon := strings.Split(versionOrLater, ":") if 1 < len(splittedByColon) { ver = splittedByColon[1] } - cveIDs, err = o.parseChangelog(changelog, packName, ver) + cveIDs, err := o.parseChangelog(changelog, packName, ver) if err == nil { - return + return cveIDs } // Only logging the error. o.log.Error(err) - return []string{}, nil + return []string{} } // Collect CVE-IDs included in the changelog. @@ -538,6 +584,29 @@ func (o *debian) parseChangelog(changelog string, return } +func (o *debian) splitAptCachePolicy(stdout string) map[string]string { + // re := regexp.MustCompile(`(?m:^[^ \t]+:$)`) + re := regexp.MustCompile(`(?m:^[^ \t]+:\r\n)`) + ii := re.FindAllStringIndex(stdout, -1) + ri := []int{} + for i := len(ii) - 1; 0 <= i; i-- { + ri = append(ri, ii[i][0]) + } + splitted := []string{} + lasti := len(stdout) + for _, i := range ri { + splitted = append(splitted, stdout[i:lasti]) + lasti = i + } + + packChangelog := map[string]string{} + for _, r := range splitted { + packName := r[:strings.Index(r, ":")] + packChangelog[packName] = r + } + return packChangelog +} + type packCandidateVer struct { Name string Installed string diff --git a/scan/debian_test.go b/scan/debian_test.go index 1656ed62..b49f528c 100644 --- a/scan/debian_test.go +++ b/scan/debian_test.go @@ -18,10 +18,14 @@ along with this program. If not, see . package scan import ( + "os" "reflect" "testing" + "github.com/Sirupsen/logrus" + "github.com/future-architect/vuls/cache" "github.com/future-architect/vuls/config" + "github.com/future-architect/vuls/models" "github.com/k0kubun/pp" ) @@ -183,7 +187,7 @@ util-linux (2.26.2-6) unstable; urgency=medium`, d := newDebian(config.ServerInfo{}) for _, tt := range tests { - actual, _ := d.getCveIDParsingChangelog(tt.in[2], tt.in[0], tt.in[1]) + actual := d.getCveIDFromChangelog(tt.in[2], tt.in[0], tt.in[1]) if len(actual) != len(tt.expected) { t.Errorf("Len of return array are'nt same. expected %#v, actual %#v", tt.expected, actual) t.Errorf(pp.Sprintf("%s", tt.in)) @@ -195,13 +199,6 @@ util-linux (2.26.2-6) unstable; urgency=medium`, } } } - - for _, tt := range tests { - _, err := d.getCveIDParsingChangelog(tt.in[2], tt.in[0], "version number do'nt match case") - if err != nil { - t.Errorf("Returning error is unexpected") - } - } } func TestGetUpdatablePackNames(t *testing.T) { @@ -520,6 +517,95 @@ Calculating upgrade... Done } } +func TestGetChangelogCache(t *testing.T) { + const servername = "server1" + pack := models.PackageInfo{ + Name: "apt", + Version: "1.0.0", + NewVersion: "1.0.1", + } + var meta = cache.Meta{ + Name: servername, + Distro: config.Distro{ + Family: "ubuntu", + Release: "16.04", + }, + Packs: []models.PackageInfo{pack}, + } + + const path = "/tmp/vuls-test-cache-11111111.db" + log := logrus.NewEntry(&logrus.Logger{}) + if err := cache.SetupBolt(path, log); err != nil { + t.Errorf("Failed to setup bolt: %s", err) + } + defer os.Remove(path) + + if err := cache.DB.EnsureBuckets(meta); err != nil { + t.Errorf("Failed to ensure buckets: %s", err) + } + + d := newDebian(config.ServerInfo{}) + actual := d.getChangelogCache(meta, pack) + if actual != "" { + t.Errorf("Failed to get empty stirng from cache:") + } + + clog := "changelog-text" + if err := cache.DB.PutChangelog(servername, "apt", clog); err != nil { + t.Errorf("Failed to put changelog: %s", err) + } + + actual = d.getChangelogCache(meta, pack) + if actual != clog { + t.Errorf("Failed to get changelog from cache: %s", actual) + } + + // increment a version of the pack + pack.NewVersion = "1.0.2" + actual = d.getChangelogCache(meta, pack) + if actual != "" { + t.Errorf("The changelog is not invalidated: %s", actual) + } + + // change a name of the pack + pack.Name = "bash" + actual = d.getChangelogCache(meta, pack) + if actual != "" { + t.Errorf("The changelog is not invalidated: %s", actual) + } +} + +func TestSplitAptCachePolicy(t *testing.T) { + var tests = []struct { + stdout string + expected map[string]string + }{ + // This function parse apt-cache policy by using Regexp multi-line mode. + // So, test data includes "\r\n" + { + "apt:\r\n Installed: 1.2.6\r\n Candidate: 1.2.12~ubuntu16.04.1\r\n Version table:\r\n 1.2.12~ubuntu16.04.1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages\r\n 1.2.10ubuntu1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages\r\n *** 1.2.6 100\r\n 100 /var/lib/dpkg/status\r\napt-utils:\r\n Installed: 1.2.6\r\n Candidate: 1.2.12~ubuntu16.04.1\r\n Version table:\r\n 1.2.12~ubuntu16.04.1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages\r\n 1.2.10ubuntu1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages\r\n *** 1.2.6 100\r\n 100 /var/lib/dpkg/status\r\nbase-files:\r\n Installed: 9.4ubuntu3\r\n Candidate: 9.4ubuntu4.2\r\n Version table:\r\n 9.4ubuntu4.2 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages\r\n 9.4ubuntu4 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages\r\n *** 9.4ubuntu3 100\r\n 100 /var/lib/dpkg/status\r\n", + + map[string]string{ + "apt": "apt:\r\n Installed: 1.2.6\r\n Candidate: 1.2.12~ubuntu16.04.1\r\n Version table:\r\n 1.2.12~ubuntu16.04.1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages\r\n 1.2.10ubuntu1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages\r\n *** 1.2.6 100\r\n 100 /var/lib/dpkg/status\r\n", + + "apt-utils": "apt-utils:\r\n Installed: 1.2.6\r\n Candidate: 1.2.12~ubuntu16.04.1\r\n Version table:\r\n 1.2.12~ubuntu16.04.1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages\r\n 1.2.10ubuntu1 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages\r\n *** 1.2.6 100\r\n 100 /var/lib/dpkg/status\r\n", + + "base-files": "base-files:\r\n Installed: 9.4ubuntu3\r\n Candidate: 9.4ubuntu4.2\r\n Version table:\r\n 9.4ubuntu4.2 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages\r\n 9.4ubuntu4 500\r\n 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages\r\n *** 9.4ubuntu3 100\r\n 100 /var/lib/dpkg/status\r\n", + }, + }, + } + + d := newDebian(config.ServerInfo{}) + for _, tt := range tests { + actual := d.splitAptCachePolicy(tt.stdout) + if !reflect.DeepEqual(tt.expected, actual) { + e := pp.Sprintf("%v", tt.expected) + a := pp.Sprintf("%v", actual) + t.Errorf("expected %s, actual %s", e, a) + } + } +} + func TestParseAptCachePolicy(t *testing.T) { var tests = []struct { diff --git a/scan/freebsd.go b/scan/freebsd.go index 0c6e5225..d3d10c3c 100644 --- a/scan/freebsd.go +++ b/scan/freebsd.go @@ -1,3 +1,20 @@ +/* Vuls - Vulnerability Scanner +Copyright (C) 2016 Future Architect, Inc. Japan. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + package scan import ( @@ -19,18 +36,18 @@ type bsd struct { func newBsd(c config.ServerInfo) *bsd { d := &bsd{} d.log = util.NewCustomLogger(c) + d.setServerInfo(c) return d } //https://github.com/mizzy/specinfra/blob/master/lib/specinfra/helper/detect_os/freebsd.rb func detectFreebsd(c config.ServerInfo) (itsMe bool, bsd osTypeInterface) { bsd = newBsd(c) - c.Family = "FreeBSD" if r := sshExec(c, "uname", noSudo); r.isSuccess() { if strings.Contains(r.Stdout, "FreeBSD") == true { if b := sshExec(c, "uname -r", noSudo); b.isSuccess() { - bsd.setDistributionInfo("FreeBSD", strings.TrimSpace(b.Stdout)) - bsd.setServerInfo(c) + rel := strings.TrimSpace(b.Stdout) + bsd.setDistro("FreeBSD", rel) return true, bsd } } diff --git a/scan/redhat.go b/scan/redhat.go index 13f148ed..21411cac 100644 --- a/scan/redhat.go +++ b/scan/redhat.go @@ -42,16 +42,16 @@ type redhat struct { func newRedhat(c config.ServerInfo) *redhat { r := &redhat{} r.log = util.NewCustomLogger(c) + r.setServerInfo(c) return r } // https://github.com/serverspec/specinfra/blob/master/lib/specinfra/helper/detect_os/redhat.rb func detectRedhat(c config.ServerInfo) (itsMe bool, red osTypeInterface) { red = newRedhat(c) - red.setServerInfo(c) if r := sshExec(c, "ls /etc/fedora-release", noSudo); r.isSuccess() { - red.setDistributionInfo("fedora", "unknown") + red.setDistro("fedora", "unknown") Log.Warn("Fedora not tested yet: %s", r) return true, red } @@ -72,9 +72,9 @@ func detectRedhat(c config.ServerInfo) (itsMe bool, red osTypeInterface) { release := result[2] switch strings.ToLower(result[1]) { case "centos", "centos linux": - red.setDistributionInfo("centos", release) + red.setDistro("centos", release) default: - red.setDistributionInfo("rhel", release) + red.setDistro("rhel", release) } return true, red } @@ -90,7 +90,7 @@ func detectRedhat(c config.ServerInfo) (itsMe bool, red osTypeInterface) { release = fields[4] } } - red.setDistributionInfo(family, release) + red.setDistro(family, release) return true, red } @@ -113,7 +113,7 @@ func (o *redhat) checkIfSudoNoPasswd() error { // CentOS 7 ... yum-plugin-changelog // RHEL, Amazon ... no additinal packages needed func (o *redhat) install() error { - switch o.Family { + switch o.Distro.Family { case "rhel", "amazon": o.log.Infof("Nothing to do") return nil @@ -123,14 +123,13 @@ func (o *redhat) install() error { } func (o *redhat) installYumChangelog() error { - if o.Family == "centos" { + if o.Distro.Family == "centos" { var majorVersion int - if 0 < len(o.Release) { - majorVersion, _ = strconv.Atoi(strings.Split(o.Release, ".")[0]) + if 0 < len(o.Distro.Release) { + majorVersion, _ = strconv.Atoi(strings.Split(o.Distro.Release, ".")[0]) } else { return fmt.Errorf( - "Not implemented yet. family: %s, release: %s", - o.Family, o.Release) + "Not implemented yet: %s", o.Distro) } var packName = "" @@ -157,12 +156,12 @@ func (o *redhat) installYumChangelog() error { } func (o *redhat) checkRequiredPackagesInstalled() error { - if o.Family == "centos" { + if o.Distro.Family == "centos" { var majorVersion int - if 0 < len(o.Release) { - majorVersion, _ = strconv.Atoi(strings.Split(o.Release, ".")[0]) + if 0 < len(o.Distro.Release) { + majorVersion, _ = strconv.Atoi(strings.Split(o.Distro.Release, ".")[0]) } else { - msg := fmt.Sprintf("Not implemented yet. family: %s, release: %s", o.Family, o.Release) + msg := fmt.Sprintf("Not implemented yet: %s", o.Distro) o.log.Errorf(msg) return fmt.Errorf(msg) } @@ -240,7 +239,7 @@ func (o *redhat) parseScannedPackagesLine(line string) (models.PackageInfo, erro } func (o *redhat) scanUnsecurePackages() ([]CvePacksInfo, error) { - if o.Family != "centos" { + if o.Distro.Family != "centos" { // Amazon, RHEL has yum updateinfo as default // yum updateinfo can collenct vendor advisory information. return o.scanUnsecurePackagesUsingYumPluginSecurity() @@ -460,12 +459,10 @@ func (o *redhat) getChangelogCVELines(rpm2changelog map[string]*string, packInfo func (o *redhat) parseAllChangelog(allChangelog string) (map[string]*string, error) { var majorVersion int - if 0 < len(o.Release) && o.Family == "centos" { - majorVersion, _ = strconv.Atoi(strings.Split(o.Release, ".")[0]) + if 0 < len(o.Distro.Release) && o.Distro.Family == "centos" { + majorVersion, _ = strconv.Atoi(strings.Split(o.Distro.Release, ".")[0]) } else { - return nil, fmt.Errorf( - "Not implemented yet. family: %s, release: %s", - o.Family, o.Release) + return nil, fmt.Errorf("Not implemented yet: %s", o.getDistro()) } orglines := strings.Split(allChangelog, "\n") @@ -569,7 +566,7 @@ type distroAdvisoryCveIDs struct { // Scaning unsecure packages using yum-plugin-security. // Amazon, RHEL func (o *redhat) scanUnsecurePackagesUsingYumPluginSecurity() (CvePacksList, error) { - if o.Family == "centos" { + if o.Distro.Family == "centos" { // CentOS has no security channel. // So use yum check-update && parse changelog return CvePacksList{}, fmt.Errorf( @@ -717,7 +714,7 @@ func (o *redhat) parseYumUpdateinfo(stdout string) (result []distroAdvisoryCveID switch sectionState { case Header: - switch o.Family { + switch o.Distro.Family { case "centos": // CentOS has no security channel. // So use yum check-update && parse changelog @@ -964,7 +961,7 @@ func (o *redhat) clone() osTypeInterface { } func (o *redhat) sudo() bool { - switch o.Family { + switch o.Distro.Family { case "amazon": return false default: diff --git a/scan/redhat_test.go b/scan/redhat_test.go index 0b968f70..9bd87f26 100644 --- a/scan/redhat_test.go +++ b/scan/redhat_test.go @@ -451,7 +451,7 @@ Description : The Berkeley Internet Name Domain (BIND) is an implementation of updated, _ := time.Parse("2006-01-02", "2015-09-04") r := newRedhat(config.ServerInfo{}) - r.Family = "redhat" + r.Distro = config.Distro{Family: "redhat"} var tests = []struct { in string @@ -511,7 +511,7 @@ Description : The Berkeley Internet Name Domain (BIND) is an implementation of func TestParseYumUpdateinfoAmazon(t *testing.T) { r := newRedhat(config.ServerInfo{}) - r.Family = "amazon" + r.Distro = config.Distro{Family: "redhat"} issued, _ := time.Parse("2006-01-02", "2015-12-15") updated, _ := time.Parse("2006-01-02", "2015-12-16") @@ -601,7 +601,7 @@ Description : Package updates are available for Amazon Linux AMI that fix the func TestParseYumCheckUpdateLines(t *testing.T) { r := newRedhat(config.ServerInfo{}) - r.Family = "centos" + r.Distro = config.Distro{Family: "centos"} stdout := `Loaded plugins: changelog, fastestmirror, keys, protect-packages, protectbase, security Loading mirror speeds from cached hostfile * base: mirror.fairway.ne.jp @@ -709,7 +709,7 @@ bind-utils.x86_64 30:9.3.6-25.P1.el5_11.8 updates func TestParseYumCheckUpdateLinesAmazon(t *testing.T) { r := newRedhat(config.ServerInfo{}) - r.Family = "amazon" + r.Distro = config.Distro{Family: "amazon"} stdout := `Loaded plugins: priorities, update-motd, upgrade-helper 34 package(s) needed for security, out of 71 available @@ -1110,8 +1110,10 @@ func TestGetChangelogCVELines(t *testing.T) { } r := newRedhat(config.ServerInfo{}) - r.Family = "centos" - r.Release = "6.7" + r.Distro = config.Distro{ + Family: "centos", + Release: "6.7", + } for _, tt := range testsCentos6 { rpm2changelog, err := r.parseAllChangelog(stdoutCentos6) if err != nil { @@ -1194,7 +1196,10 @@ func TestGetChangelogCVELines(t *testing.T) { }, } - r.Release = "5.6" + r.Distro = config.Distro{ + Family: "centos", + Release: "5.6", + } for _, tt := range testsCentos5 { rpm2changelog, err := r.parseAllChangelog(stdoutCentos5) if err != nil { diff --git a/scan/serverapi.go b/scan/serverapi.go index d338370b..bf4a9852 100644 --- a/scan/serverapi.go +++ b/scan/serverapi.go @@ -1,3 +1,20 @@ +/* Vuls - Vulnerability Scanner +Copyright (C) 2016 Future Architect, Inc. Japan. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + package scan import ( @@ -5,6 +22,7 @@ import ( "time" "github.com/Sirupsen/logrus" + "github.com/future-architect/vuls/cache" "github.com/future-architect/vuls/config" "github.com/future-architect/vuls/models" cve "github.com/kotakanbe/go-cve-dictionary/models" @@ -20,8 +38,9 @@ type osTypeInterface interface { setServerInfo(config.ServerInfo) getServerInfo() config.ServerInfo - setDistributionInfo(string, string) - getDistributionInfo() string + setDistro(string, string) + getDistro() config.Distro + // getFamily() string checkIfSudoNoPasswd() error detectPlatform() error @@ -188,7 +207,7 @@ func detectServerOSes() (sshAbleOses []osTypeInterface) { Log.Infof("(%d/%d) Detected: %s: %s", i+1, len(config.Conf.Servers), res.getServerInfo().ServerName, - res.getDistributionInfo()) + res.getDistro()) } case <-timeout: msg := "Timed out while detecting servers" @@ -248,7 +267,7 @@ func detectContainerOSes() (actives []osTypeInterface) { } oses = append(oses, res...) Log.Infof("Detected: %s@%s: %s", - sinfo.Container.Name, sinfo.ServerName, osi.getDistributionInfo()) + sinfo.Container.Name, sinfo.ServerName, osi.getDistro()) } case <-timeout: msg := "Timed out while detecting containers" @@ -417,6 +436,13 @@ func Scan() []error { return errs } + if err := setupCangelogCache(); err != nil { + return []error{err} + } + if cache.DB != nil { + defer cache.DB.Close() + } + Log.Info("Scanning vulnerable OS packages...") if errs := scanPackages(); errs != nil { return errs @@ -429,6 +455,23 @@ func Scan() []error { return nil } +func setupCangelogCache() error { + needToSetupCache := false + for _, s := range servers { + switch s.getDistro().Family { + case "ubuntu", "debian": + needToSetupCache = true + break + } + } + if needToSetupCache { + if err := cache.SetupBolt(config.Conf.CacheDBPath, Log); err != nil { + return err + } + } + return nil +} + func checkRequiredPackagesInstalled() []error { timeoutSec := 30 * 60 return parallelSSHExec(func(o osTypeInterface) error { diff --git a/scan/sshutil.go b/scan/sshutil.go index 55190fc8..296adcb6 100644 --- a/scan/sshutil.go +++ b/scan/sshutil.go @@ -302,7 +302,7 @@ func decolateCmd(c conf.ServerInfo, cmd string, sudo bool) string { cmd = strings.Replace(cmd, "|", "| sudo ", -1) } - if c.Family != "FreeBSD" { + if c.Distro.Family != "FreeBSD" { // set pipefail option. Bash only // http://unix.stackexchange.com/questions/14270/get-exit-status-of-process-thats-piped-to-another cmd = fmt.Sprintf("set -o pipefail; %s", cmd) diff --git a/util/util.go b/util/util.go index 74781e99..6942fb7c 100644 --- a/util/util.go +++ b/util/util.go @@ -124,3 +124,14 @@ func PrependProxyEnv(cmd string) string { // } // return time.Unix(i, 0), nil // } + +// Truncate truncates string to the length +func Truncate(str string, length int) string { + if length < 0 { + return str + } + if length <= len(str) { + return str[:length] + } + return str +} diff --git a/util/util_test.go b/util/util_test.go index 50035170..2ec538d4 100644 --- a/util/util_test.go +++ b/util/util_test.go @@ -131,3 +131,43 @@ func TestPrependHTTPProxyEnv(t *testing.T) { } } + +func TestTruncate(t *testing.T) { + var tests = []struct { + in string + length int + out string + }{ + { + in: "abcde", + length: 3, + out: "abc", + }, + { + in: "abcdefg", + length: 5, + out: "abcde", + }, + { + in: "abcdefg", + length: 10, + out: "abcdefg", + }, + { + in: "abcdefg", + length: 0, + out: "", + }, + { + in: "abcdefg", + length: -1, + out: "abcdefg", + }, + } + for _, tt := range tests { + actual := Truncate(tt.in, tt.length) + if actual != tt.out { + t.Errorf("\nexpected: %s\n actual: %s", tt.out, actual) + } + } +}