From c77c370d0d49965cb7e5de13bdd1d421527d5ece Mon Sep 17 00:00:00 2001 From: TessaIO Date: Sun, 14 Apr 2024 00:12:01 +0200 Subject: [PATCH 1/2] feat: add spiffe integration in master and worker Signed-off-by: TessaIO --- cmd/nfd-master/main.go | 4 ++ cmd/nfd-worker/main.go | 4 ++ go.sum | 22 ++++++ pkg/nfd-master/nfd-master.go | 100 +++++++++++++++++++++++++- pkg/nfd-worker/nfd-worker.go | 54 ++++++++++++++ pkg/utils/spiffe/spiffe.go | 120 ++++++++++++++++++++++++++++++++ pkg/utils/spiffe/spiffe_test.go | 119 +++++++++++++++++++++++++++++++ 7 files changed, 421 insertions(+), 2 deletions(-) create mode 100644 pkg/utils/spiffe/spiffe.go create mode 100644 pkg/utils/spiffe/spiffe_test.go diff --git a/cmd/nfd-master/main.go b/cmd/nfd-master/main.go index 774b47335..6bb3d4403 100644 --- a/cmd/nfd-master/main.go +++ b/cmd/nfd-master/main.go @@ -73,6 +73,8 @@ func main() { args.Overrides.ResyncPeriod = overrides.ResyncPeriod case "nfd-api-parallelism": args.Overrides.NfdApiParallelism = overrides.NfdApiParallelism + case "enable-spiffe": + args.Overrides.EnableSpiffe = overrides.EnableSpiffe } }) @@ -140,6 +142,8 @@ func initFlags(flagset *flag.FlagSet) (*master.Args, *master.ConfigOverrideArgs) flagset.Var(overrides.ResyncPeriod, "resync-period", "Specify the NFD API controller resync period.") overrides.NfdApiParallelism = flagset.Int("nfd-api-parallelism", 10, "Defines the maximum number of goroutines responsible of updating nodes. "+ "Can be used for the throttling mechanism.") + overrides.EnableSpiffe = flagset.Bool("enable-spiffe", false, + "Enables the Spiffe signature verification of created CRDs. This is still an EXPERIMENTAL feature.") return args, overrides } diff --git a/cmd/nfd-worker/main.go b/cmd/nfd-worker/main.go index 120db537a..f2104b51f 100644 --- a/cmd/nfd-worker/main.go +++ b/cmd/nfd-worker/main.go @@ -93,6 +93,8 @@ func parseArgs(flags *flag.FlagSet, osArgs ...string) *worker.Args { args.Overrides.LabelSources = overrides.LabelSources case "no-owner-refs": args.Overrides.NoOwnerRefs = overrides.NoOwnerRefs + case "enable-spiffe": + args.Overrides.EnableSpiffe = overrides.EnableSpiffe } }) @@ -131,6 +133,8 @@ func initFlags(flagset *flag.FlagSet) (*worker.Args, *worker.ConfigOverrideArgs) flagset.Var(overrides.LabelSources, "label-sources", "Comma separated list of label sources. Special value 'all' enables all sources. "+ "Prefix the source name with '-' to disable it.") + overrides.EnableSpiffe = flagset.Bool("enable-spiffe", false, + "Enables the Spiffe signature verification of created CRDs. This is still an EXPERIMENTAL feature.") return args, overrides } diff --git a/go.sum b/go.sum index 8dc42a4a9..0000c319a 100644 --- a/go.sum +++ b/go.sum @@ -123,6 +123,27 @@ github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/Z github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= @@ -262,6 +283,7 @@ github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSS github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= diff --git a/pkg/nfd-master/nfd-master.go b/pkg/nfd-master/nfd-master.go index 51e02345d..1240ebb52 100644 --- a/pkg/nfd-master/nfd-master.go +++ b/pkg/nfd-master/nfd-master.go @@ -51,6 +51,13 @@ import ( "sigs.k8s.io/yaml" nfdclientset "sigs.k8s.io/node-feature-discovery/api/generated/clientset/versioned" + klogutils "sigs.k8s.io/node-feature-discovery/pkg/utils/klog" + spiffe "sigs.k8s.io/node-feature-discovery/pkg/utils/spiffe" + + taintutils "k8s.io/kubernetes/pkg/util/taints" + "sigs.k8s.io/yaml" + + "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1" nfdv1alpha1 "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1" "sigs.k8s.io/node-feature-discovery/pkg/apis/nfd/nodefeaturerule" "sigs.k8s.io/node-feature-discovery/pkg/apis/nfd/validate" @@ -60,6 +67,9 @@ import ( "sigs.k8s.io/node-feature-discovery/pkg/version" ) +// SocketPath specifies Spiffe Socket Path +const SocketPath = "unix:///run/spire/sockets/agent.sock" + // Labels are a Kubernetes representation of discovered features. type Labels map[string]string @@ -92,6 +102,7 @@ type NFDConfig struct { NfdApiParallelism int Klog klogutils.KlogConfigOpts Restrictions Restrictions + EnableSpiffe bool } // LeaderElectionConfig contains the configuration for leader election @@ -110,6 +121,7 @@ type ConfigOverrideArgs struct { NoPublish *bool ResyncPeriod *utils.DurationVal NfdApiParallelism *int + EnableSpiffe *bool } // Args holds command line arguments @@ -149,7 +161,8 @@ type nfdMaster struct { nfdClient nfdclientset.Interface updaterPool *updaterPool deniedNs - config *NFDConfig + config *NFDConfig + spiffeClient *spiffe.SpiffeClient } // NewNfdMaster creates a new NfdMaster server instance. @@ -206,6 +219,12 @@ func NewNfdMaster(opts ...NfdMasterOption) (NfdMaster, error) { nfd.updaterPool = newUpdaterPool(nfd) + spiffeClient, err := spiffe.NewSpiffeClient(SocketPath) + if err != nil { + return nfd, err + } + nfd.spiffeClient = spiffeClient + return nfd, nil } @@ -247,7 +266,6 @@ func newDefaultConfig() *NFDConfig { RetryPeriod: utils.DurationVal{Duration: time.Duration(2) * time.Second}, RenewDeadline: utils.DurationVal{Duration: time.Duration(10) * time.Second}, }, - Klog: make(map[string]string), Restrictions: Restrictions{ DisableLabels: false, DisableExtendedResources: false, @@ -255,6 +273,8 @@ func newDefaultConfig() *NFDConfig { AllowOverwrite: true, DenyNodeFeatureLabels: false, }, + Klog: make(map[string]string), + EnableSpiffe: false, } } @@ -677,6 +697,55 @@ func (m *nfdMaster) nfdAPIUpdateOneNode(cli k8sclient.Interface, node *corev1.No return fmt.Errorf("failed to merge NodeFeature objects for node %q: %w", node.Name, err) } + // Sort our objects + sort.Slice(objs, func(i, j int) bool { + // Objects in our nfd namespace gets into the beginning of the list + if objs[i].Namespace == m.namespace && objs[j].Namespace != m.namespace { + return true + } + if objs[i].Namespace != m.namespace && objs[j].Namespace == m.namespace { + return false + } + // After the nfd namespace, sort objects by their name + if objs[i].Name != objs[j].Name { + return objs[i].Name < objs[j].Name + } + // Objects with the same name are sorted by their namespace + return objs[i].Namespace < objs[j].Namespace + }) + + // If spiffe is enabled, we should filter out the non verified NFD objects + if m.config.EnableSpiffe { + objs, err = m.getVerifiedNFDObjects(objs) + if err != nil { + return err + } + } + + klog.V(1).InfoS("processing of node initiated by NodeFeature API", "nodeName", node.Name) + + features := nfdv1alpha1.NewNodeFeatureSpec() + + if len(objs) > 0 { + // Merge in features + // + // NOTE: changing the rule api to support handle multiple objects instead + // of merging would probably perform better with lot less data to copy. + features = objs[0].Spec.DeepCopy() + if m.config.AutoDefaultNs { + features.Labels = addNsToMapKeys(features.Labels, nfdv1alpha1.FeatureLabelNs) + } + for _, o := range objs[1:] { + s := o.Spec.DeepCopy() + if m.config.AutoDefaultNs { + s.Labels = addNsToMapKeys(s.Labels, nfdv1alpha1.FeatureLabelNs) + } + s.MergeInto(features) + } + + klog.V(4).InfoS("merged nodeFeatureSpecs", "newNodeFeatureSpec", utils.DelayedDumper(features)) + } + // Update node labels et al. This may also mean removing all NFD-owned // labels (et al.), for example in the case no NodeFeature objects are // present. @@ -1187,6 +1256,9 @@ func (m *nfdMaster) configure(filepath string, overrides string) error { if m.args.Overrides.NfdApiParallelism != nil { c.NfdApiParallelism = *m.args.Overrides.NfdApiParallelism } + if m.args.Overrides.EnableSpiffe != nil { + c.EnableSpiffe = *m.args.Overrides.EnableSpiffe + } if c.NfdApiParallelism <= 0 { return fmt.Errorf("the maximum number of concurrent labelers should be a non-zero positive number") @@ -1387,3 +1459,27 @@ func patchNode(cli k8sclient.Interface, nodeName string, patches []utils.JsonPat func patchNodeStatus(cli k8sclient.Interface, nodeName string, patches []utils.JsonPatch) error { return patchNode(cli, nodeName, patches, "status") } + +func (m *nfdMaster) getVerifiedNFDObjects(objs []*v1alpha1.NodeFeature) ([]*v1alpha1.NodeFeature, error) { + verifiedObjects := []*v1alpha1.NodeFeature{} + + workerPrivateKey, workerPublicKey, err := m.spiffeClient.GetWorkerKeys() + if err != nil { + return verifiedObjects, err + } + + for _, obj := range objs { + isSignatureVerified, err := spiffe.VerifyDataSignature(obj.Spec, obj.Annotations["signature"], workerPrivateKey, workerPublicKey) + if err != nil { + return nil, fmt.Errorf("failed to verify NodeFeature signature: %w", err) + } + + if isSignatureVerified { + klog.InfoS("NodeFeature verified", "NodeFeature name", obj.Name) + verifiedObjects = append(verifiedObjects, obj) + } else { + klog.InfoS("NodeFeature not verified, skipping...", "NodeFeature name", obj.Name) + } + } + return verifiedObjects, nil +} diff --git a/pkg/nfd-worker/nfd-worker.go b/pkg/nfd-worker/nfd-worker.go index 8021cc46e..e98127d0f 100644 --- a/pkg/nfd-worker/nfd-worker.go +++ b/pkg/nfd-worker/nfd-worker.go @@ -17,6 +17,9 @@ limitations under the License. package nfdworker import ( + "crypto/tls" + "crypto/x509" + b64 "encoding/base64" "encoding/json" "fmt" "net/http" @@ -45,6 +48,7 @@ import ( nfdclient "sigs.k8s.io/node-feature-discovery/api/generated/clientset/versioned" nfdv1alpha1 "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1" "sigs.k8s.io/node-feature-discovery/pkg/utils" + spiffe "sigs.k8s.io/node-feature-discovery/pkg/utils/spiffe" "sigs.k8s.io/node-feature-discovery/pkg/version" "sigs.k8s.io/node-feature-discovery/source" @@ -62,6 +66,9 @@ import ( _ "sigs.k8s.io/node-feature-discovery/source/usb" ) +// SocketPath specifies Spiffe Socket Path +const SocketPath = "unix:///run/spire/sockets/agent.sock" + // NfdWorker is the interface for nfd-worker daemon type NfdWorker interface { Run() error @@ -83,6 +90,7 @@ type coreConfig struct { Sources *[]string LabelSources []string SleepInterval utils.DurationVal + EnableSpiffe bool } type sourcesConfig map[string]source.Config @@ -109,6 +117,7 @@ type ConfigOverrideArgs struct { NoOwnerRefs *bool FeatureSources *utils.StringSliceVal LabelSources *utils.StringSliceVal + EnableSpiffe *bool } type nfdWorker struct { @@ -122,6 +131,7 @@ type nfdWorker struct { featureSources []source.FeatureSource labelSources []source.LabelSource ownerReference []metav1.OwnerReference + spiffeClient *spiffe.SpiffeClient } // This ticker can represent infinite and normal intervals. @@ -188,6 +198,12 @@ func NewNfdWorker(opts ...NfdWorkerOption) (NfdWorker, error) { nfd.k8sClient = cli } + spiffeClient, err := spiffe.NewSpiffeClient(SocketPath) + if err != nil { + return nfd, err + } + nfd.spiffeClient = spiffeClient + return nfd, nil } @@ -509,6 +525,9 @@ func (w *nfdWorker) configure(filepath string, overrides string) error { if w.args.Overrides.LabelSources != nil { c.Core.LabelSources = *w.args.Overrides.LabelSources } + if w.args.Overrides.EnableSpiffe != nil { + c.Core.EnableSpiffe = *w.args.Overrides.EnableSpiffe + } c.Core.sanitize() @@ -643,6 +662,14 @@ func (m *nfdWorker) updateNodeFeatureObject(labels Labels) error { } klog.InfoS("creating NodeFeature object", "nodefeature", klog.KObj(nfr)) + // If Spiffe is enabled, we add the signature to the annotations section + if m.config.Core.EnableSpiffe { + err = m.signNodeFeatureCR(nfr) + if err != nil { + return err + } + } + nfrCreated, err := cli.NfdV1alpha1().NodeFeatures(namespace).Create(context.TODO(), nfr, metav1.CreateOptions{}) if err != nil { return fmt.Errorf("failed to create NodeFeature object %q: %w", nfr.Name, err) @@ -661,6 +688,13 @@ func (m *nfdWorker) updateNodeFeatureObject(labels Labels) error { Labels: labels, } + if m.config.Core.EnableSpiffe { + err = m.signNodeFeatureCR(nfrUpdated) + if err != nil { + return err + } + } + if !apiequality.Semantic.DeepEqual(nfr, nfrUpdated) { klog.InfoS("updating NodeFeature object", "nodefeature", klog.KObj(nfr)) nfrUpdated, err = cli.NfdV1alpha1().NodeFeatures(namespace).Update(context.TODO(), nfrUpdated, metav1.UpdateOptions{}) @@ -718,3 +752,23 @@ func (c *sourcesConfig) UnmarshalJSON(data []byte) error { return nil } + +// signNodeFeatureCR add the signature to the annotations of a given NodeFeature CR +func (m *nfdWorker) signNodeFeatureCR(nfr *nfdv1alpha1.NodeFeature) error { + workerPrivateKey, _, err := m.spiffeClient.GetWorkerKeys() + + if err != nil { + return fmt.Errorf("error while getting worker keys: %w", err) + } + + signature, err := spiffe.SignData(nfr.Spec, workerPrivateKey) + + if err != nil { + return fmt.Errorf("failed to sign CRD data using Spiffe: %w", err) + } + + encodedSignature := b64.StdEncoding.EncodeToString(signature) + nfr.ObjectMeta.Annotations["signature"] = encodedSignature + + return nil +} diff --git a/pkg/utils/spiffe/spiffe.go b/pkg/utils/spiffe/spiffe.go new file mode 100644 index 000000000..542f4bde1 --- /dev/null +++ b/pkg/utils/spiffe/spiffe.go @@ -0,0 +1,120 @@ +/* +Copyright 2024 The Kubernetes Authors. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package utils + +import ( + "context" + "crypto" + "crypto/ecdsa" + "crypto/rand" + "crypto/rsa" + "crypto/sha256" + b64 "encoding/base64" + "encoding/json" + "fmt" + + "github.com/spiffe/go-spiffe/v2/workloadapi" +) + +// WorkerSpiffeID is the SpiffeID of the worker +const WorkerSpiffeID = "spiffe://nfd.com/worker" + +type SpiffeClient struct { + WorkloadApiClient workloadapi.Client +} + +func NewSpiffeClient(socketPath string) (*SpiffeClient, error) { + spiffeClient := SpiffeClient{} + workloadApiClient, err := workloadapi.New(context.Background(), workloadapi.WithAddr(socketPath)) + if err != nil { + return nil, err + } + spiffeClient.WorkloadApiClient = *workloadApiClient + return &spiffeClient, nil +} + +func SignData(data interface{}, privateKey crypto.Signer) ([]byte, error) { + stringifyData, err := json.Marshal(data) + if err != nil { + return []byte{}, err + } + + dataHash := sha256.Sum256([]byte(stringifyData)) + + switch t := privateKey.(type) { + case *rsa.PrivateKey: + signedData, err := rsa.SignPKCS1v15(rand.Reader, privateKey.(*rsa.PrivateKey), crypto.SHA256, dataHash[:]) + if err != nil { + return []byte{}, err + } + return signedData, nil + case *ecdsa.PrivateKey: + signedData, err := ecdsa.SignASN1(rand.Reader, privateKey.(*ecdsa.PrivateKey), dataHash[:]) + if err != nil { + return []byte{}, err + } + return signedData, nil + default: + return nil, fmt.Errorf("unknown private key type: %v", t) + } +} + +func VerifyDataSignature(data interface{}, signedData string, privateKey crypto.Signer, publicKey crypto.PublicKey) (bool, error) { + stringifyData, err := json.Marshal(data) + if err != nil { + return false, err + } + + decodedSignature, err := b64.StdEncoding.DecodeString(signedData) + if err != nil { + return false, err + } + + dataHash := sha256.Sum256([]byte(stringifyData)) + + if err != nil { + return false, err + } + + switch t := privateKey.(type) { + case *rsa.PrivateKey: + err = rsa.VerifyPKCS1v15(publicKey.(*rsa.PublicKey), crypto.SHA256, dataHash[:], decodedSignature) + if err != nil { + return false, err + } + return true, nil + case *ecdsa.PrivateKey: + verify := ecdsa.VerifyASN1(publicKey.(*ecdsa.PublicKey), dataHash[:], decodedSignature) + return verify, nil + default: + return false, fmt.Errorf("unknown private key type: %v", t) + } +} + +func (s *SpiffeClient) GetWorkerKeys() (crypto.Signer, crypto.PublicKey, error) { + ctx := context.Background() + + svids, err := s.WorkloadApiClient.FetchX509SVIDs(ctx) + if err != nil { + return nil, nil, err + } + + for _, svid := range svids { + if svid.ID.String() == WorkerSpiffeID { + return svid.PrivateKey, svid.PrivateKey.Public, nil + } + } + + return nil, nil, fmt.Errorf("cannot sign data: spiffe ID %s is not found", WorkerSpiffeID) +} diff --git a/pkg/utils/spiffe/spiffe_test.go b/pkg/utils/spiffe/spiffe_test.go new file mode 100644 index 000000000..8fc9f17e2 --- /dev/null +++ b/pkg/utils/spiffe/spiffe_test.go @@ -0,0 +1,119 @@ +/* +Copyright 2024 The Kubernetes Authors. +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package utils + +import ( + "crypto" + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rand" + "crypto/rsa" + b64 "encoding/base64" + "testing" + + "github.com/stretchr/testify/assert" + "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1" +) + +func mockNFRSpec() v1alpha1.NodeFeatureSpec { + return v1alpha1.NodeFeatureSpec{ + Features: v1alpha1.Features{ + Flags: map[string]v1alpha1.FlagFeatureSet{ + "test": { + Elements: map[string]v1alpha1.Nil{ + "test2": {}, + }, + }, + }, + }, + } +} + +func mockWorkerECDSAPrivateKey() (*ecdsa.PrivateKey, *ecdsa.PublicKey) { + privateKey, _ := ecdsa.GenerateKey(elliptic.P384(), rand.Reader) + return privateKey, &privateKey.PublicKey +} + +func mockWorkerRSAPrivateKey() (*rsa.PrivateKey, *rsa.PublicKey) { + privateKey, _ := rsa.GenerateKey(rand.Reader, 4096) + return privateKey, &privateKey.PublicKey +} + +func TestVerify(t *testing.T) { + rsaPrivateKey, rsaPublicKey := mockWorkerRSAPrivateKey() + ecdsaPrivateKey, ecdsaPublicKey := mockWorkerECDSAPrivateKey() + spec := mockNFRSpec() + + tc := []struct { + name string + privateKey crypto.Signer + publicKey crypto.PublicKey + wantErr bool + }{ + { + name: "RSA Keys", + privateKey: rsaPrivateKey, + publicKey: rsaPublicKey, + wantErr: true, + }, + { + name: "ECDSA Keys", + privateKey: ecdsaPrivateKey, + publicKey: ecdsaPublicKey, + wantErr: false, + }, + } + + for _, tt := range tc { + signedData, err := SignData(spec, tt.privateKey) + assert.NoError(t, err) + + isVerified, err := VerifyDataSignature(spec, b64.StdEncoding.EncodeToString(signedData), tt.privateKey, tt.publicKey) + assert.NoError(t, err) + assert.True(t, isVerified) + + signedData = append(signedData, "random"...) + isVerified, err = VerifyDataSignature(spec, b64.StdEncoding.EncodeToString(signedData), tt.privateKey, tt.publicKey) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.False(t, isVerified) + } + } +} + +func TestSignData(t *testing.T) { + rsaPrivateKey, _ := mockWorkerRSAPrivateKey() + ecdsaPrivateKey, _ := mockWorkerECDSAPrivateKey() + spec := mockNFRSpec() + + tc := []struct { + name string + privateKey crypto.Signer + }{ + { + name: "RSA Keys", + privateKey: rsaPrivateKey, + }, + { + name: "ECDSA Keys", + privateKey: ecdsaPrivateKey, + }, + } + + for _, tt := range tc { + _, err := SignData(spec, tt.privateKey) + assert.NoError(t, err) + } +} From 73e31a879b9610ad34357de1d252f2fa7e332b3e Mon Sep 17 00:00:00 2001 From: TessaIO Date: Sun, 14 Apr 2024 20:42:11 +0200 Subject: [PATCH 2/2] deploy: add spire manifests in helm and kustomize Signed-off-by: TessaIO Signed-off-by: AhmedGrati --- .../helm/node-feature-discovery/Chart.lock | 6 ++ .../helm/node-feature-discovery/Chart.yaml | 5 + .../charts/spire-0.24.1.tgz | Bin 0 -> 209505 bytes .../templates/master.yaml | 14 +++ .../templates/worker.yaml | 14 +++ .../helm/node-feature-discovery/values.yaml | 58 ++++++++++- .../reference/master-commandline-reference.md | 16 +++ .../reference/worker-commandline-reference.md | 16 +++ go.mod | 3 + go.sum | 28 ++---- pkg/nfd-master/nfd-master.go | 92 +++++------------- pkg/nfd-worker/nfd-worker.go | 30 +++--- pkg/utils/spiffe/spiffe.go | 40 +++++--- pkg/utils/spiffe/spiffe_test.go | 72 +++++++++++++- 14 files changed, 275 insertions(+), 119 deletions(-) create mode 100644 deployment/helm/node-feature-discovery/Chart.lock create mode 100644 deployment/helm/node-feature-discovery/charts/spire-0.24.1.tgz diff --git a/deployment/helm/node-feature-discovery/Chart.lock b/deployment/helm/node-feature-discovery/Chart.lock new file mode 100644 index 000000000..a539c7695 --- /dev/null +++ b/deployment/helm/node-feature-discovery/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: spire + repository: https://spiffe.github.io/helm-charts-hardened/ + version: 0.24.1 +digest: sha256:f3b4dc973a59682bf3aa5ca9b53322f57935dd093081e82a37b8082e00becbe9 +generated: "2024-12-20T16:52:40.180416+01:00" diff --git a/deployment/helm/node-feature-discovery/Chart.yaml b/deployment/helm/node-feature-discovery/Chart.yaml index 553fc3c07..c18e36c77 100644 --- a/deployment/helm/node-feature-discovery/Chart.yaml +++ b/deployment/helm/node-feature-discovery/Chart.yaml @@ -13,3 +13,8 @@ keywords: - node-labels type: application version: 0.2.1 +dependencies: + - name: spire + version: 0.24.1 + repository: https://spiffe.github.io/helm-charts-hardened/ + condition: spire.enabled diff --git a/deployment/helm/node-feature-discovery/charts/spire-0.24.1.tgz b/deployment/helm/node-feature-discovery/charts/spire-0.24.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..2ed7d582e03cb40049b151df3e838f87dd9f4397 GIT binary patch literal 209505 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�c|KC8ILk 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�~(Fs`ar_b`I*hG6vsg|?ca-l=JwU7O}r#2l{v5I0}K;- zZ@t@Anpv=-L0}XO4v>(cD;s)9S+}PND~w)eeVP2B58H*m8et@Ejg4qXqc%e8QdR#I zV_dDl_l)}zNLvi)1kJM4D&(u4q>={2c=rK`B?s-_sHZHw3_=$MQWbBa-S7wTi)`oFtfT>o49yIW7||3j3Fy1yXG zC#kikB!|haTCrPc+Q_b0@e-5sCp{Kis)%UWcM0pib+>pggnGpSDo0Y$zIDDx{hn*F z2J*drbi_wBNnbNQxXpON7Ap+GP#-n8B7xmkCMyl3bxL-!W&(>uKElJ{-{j%+@P^sd zaAR6H$Fh}oBTJ2piP=ew8nrkM{y9-S{3FrZ*Nk4?i!gYXlPEE3xcgK8n1m+19i#FP z_#g<(n;(Q!CoD2*Ka*9<(mZ*6c79xZl#eQwJWd0UrH|0jHS_R1j!G2_NntO6_iAnEkYj7<3eZk?U;|uUvBx`P$sRsVn zpkH&_|Bf2?-}phV+tB}s|CB@CNCCBpcRdK9qlL%XH?F)1Yu~tSa$WnzRek+iM66r; z=Ks{z;3pC>F_3U}aw==C6{2b`^C@YV>XG=Z<_@JNeA@V;_y6~&M<;Ji-M)YSK4#AU z)>f<8+9}Nc-R<4Ir}_U7Wi97vQ~T>L$tK@)TW<5$=W#4Q*6+Hq$7tZAHmXhhE^XM# z4%T%TH@SS6;3W7@sYU^P*$IepIenz{9jrdLk6P^rexN}gaN6Ly$)zGeU?M+Z^cEvw)N0>+^MmNqkaX$cH{Zaw zF(O^2dV@9^7>zSwLvOc^nTJk~L_X!zZ>WgUMxQXAo1uTN)z;SFjXppdKkiy>4EFNt zX`iqF#_%x;U|bu6<2VkOf8rnbyiX!ebRxo~q#VZZEk1DLC*O579F5=K^~)ITTq~Cc ze@9r?9dX-gwOYF7k95em`%2t?7jhoBT`|-Euv&*ONdl)&^`bk5Z#yIW`Q3>0gowMs zn$*8(54>w#$^Oja17oDX1!{KTSopM7TOx74{j1}^ho0VtBGRWA4@^=Iw=E{2OF4~* zqCO0y-X9UTFFfhW9tJ#-y(FSyn*#NjuG=0#k8s}w$1&gUJOQr%TmzHFB+NXuA9e9E zh7&5ih=qvqms!SulJ`g` z>V-5M*j3bAtH+3akGG8Bs@wA-mx-#Qo)0oh(NIXHL{*v^il(jNsALMCS{gs{GKMR= zWM{;Z`w=%o(KNckA`~^Oh@2Uk&X1uZ@6}M&wum^7k)exT@EeHsKA(grb?e9#wf%H?b;wiILe5 zkX$N)t1V-=`sLRZP?VECjrpxQcq?`Z+iiH(6|ILVtDJ-jSqzf06LfnB5XFlahe~F{>GgPkjMMNRvA@C4qtyS@8AiA&VkOqtLs6K@T zq6>j;ya_`RFy91RmOvs3b)U8e7@S%YO8b7rqgl9&;Yy>nbWMr9 z5B9d&c|OIac&`63xxbrSF?)V>J!n(n_b~?)IF3F0J3g0=FZzV>tBoa&XPmuda2!jw zEGo3fVrCjy%*@Qp%q)wUS+ba!nZdG{nVDI#m~1iA+}Yng=f*wvz4zz+n27Gx71iA{ zT~pPWxpMV`o;GjUS7RZ<=$r1y@9t$*B+HSwJ7jBCQ6{=fP4lB=9AQBv0yCyQ1FMU9 zdjwZZc>Gn4t?RpDXcE$f%0%#mP?sFzqeyk&Gq$?A!Xp^CMAC*I42|%dMQ{x7KC6IbRKXyO>p9Pfixgj@l^`JlnZXh2{~|Dh)c>sNFd78Oyn zjXDBXYg^B0C%iGTB2f>FtQb$qDq-a(1?7W4tB(x);5_(Oam+Cuyc6;D zK*?5M!)^g&);r?SgRq{Y!ZUw!d^>z3Z@pDlFu@Xzm0f6|1VuUJ!+ng*83>JJ5ySIJ{MU;wxHc4XBR%qM|#rBwSs@z`B-G4fqxmXez0 zs8QQ#GdiRWSyDAEvWPOjcDxS&mg;Ij+jaV;!oDFDQhThGDO1dq$2g-9#F|gblc1np zM)x>{2IFHvH4Kg)w8yiCS5pvY9^X|6mL!@ay`G3~98*_S@Y8C`Mxgyhl^5IBC(mW9 zV9D|w>`8RXBiX9K!D-?BzMg(l-tQ2^v)Tp{Ae(e`h9cjQVC0TLaMX@&@z^-`^n;Kr zoHc?7=yESN-dj>YBA#$WziuIa@YS%LE@*8v{>YsyUvuNOwGB_L@O_W z7pIJWU7UR|Q~=GVJpk58nfS1Df7;NqeUi;GDA zZtvj}eB`6>&nwF8lrcon*KA(ZoJtXJvUqKm#5lHH{AJm~Q>`@j};&3J}GPgQF-p=*SGg?{I1>MRbdjI~LOB=ErEs3zEnB2o_!TtUwxwJQy z>)D+g9xIN0yQ7JmHOq?@Egf$X+C*uzwACdQ z?7D{UuI?(#SfSiu{+@o|qi2uFH$e-$X_(Rb*U$|v>j76BhFl%AF2;ZlGGu)X^ZHq( zr7gI6F;!7z3Q zl-kbtTLc#f((5W<*{?AZ&>ewCgoAT-%-xxaQw_AqKP4`t9iqNMEt(5SR)`rFq zlg0)Kv8Z_Z%i?{+^)rck=5YxTW-7~jh(AaUF&MY_IL4`$Sn1jIO+S(mp-Pco2Sx+w zzkH)9a4fU4QAqWC{d)h8@EE6jm@)4!^bZfxBkYVm!+gu>O0^22So^hH(V=>}FQM0U z*2_$axVG2+{FbdoU>P}$PH{mn+3imtzXThQ0{Lqp;?N3n$oP?|+e2fOaJEVm(V6sQ zWRb;ojiW^rc}G%PDPjO>emq^F@+QW2Q@}k45t&n7a&*fMb`r%D;)|ET?JR#r#a|dZ z)zK*7Bm_B4xrJExH5!x{`+mD)1%HtC|hpjjt%3n5oxe*J&%(3hWfO%@tP z!VJk=hNY>x?i|gP`xGu-g<(oS416p&n z6^FvsWjZreJn4_=Nz6xq!b!Q-6g^(hprQ}Muj-d_Fg}b1&$S=NJ*yiRw)4jf+dDQd zwb+bVygr?}2H)#niq?1dt-7zD+@HpyvHm_!Z>RM(cJEp@KluTxgyzFkTKN9T9g#2# zst!R}puTB+VzV`q_m6aVq4o3f~#Is<^LzK6oRuT@AQe9 z(;eeXp`ejxHCNqQ=Cn3yjGFjUtO#0cn>pv){l8NanEYi7w79pgiC$!SuUe_?EnE5Cs-FunAWsvMVZ!PT0zw zNXpCTYRJqF^;Xhko0!>_r3;{$ZKYmY@R!xIM;{e`yQ-p^;8I0EXH!(38oWJ9bW_Jz zURYG_i_oK5+{THU-wpcsS0$Z@FPHX(tiOCAS}XfC(4rgnR|?s!4hNSyCs~KRC$kdF z9yeazB5GoB@6fNX3U%eBulody64IQppKP-;W>hu~{xV&#Jn+=-8DK(B&sxVZ)^8aT zRfqF@;*G7@7H%A=MGmZBMBMVk;YH44?+6q{Ue2FtQ3jy@k6=)kn>eOOJpSa&y^I>; zqaExwD!RKm#x(TL%0GYj!iz~zIH7wj=EsKzgODg}Q21BgIIC|L#+B7Tl9&<9*l;s< znto=zm^PTHm1YyPvgQWn{A;*wMCft?NP*T!4|<;5qr!k)kWb<^#YRR!N>N%R$P9{i zmIiI}!jGpU2-X_I1>ov>QA*a4_3PKy8k|{s4bU5E@^|CrjbuGcu3{t^J` z`17AJ77n@E_)-7SA)haKyu(a+QfvByyPo5G>mtNY!}BP0i7T?GQ5S#LYm&3Ikc z<@p27u)rIx2Hnid|5^|*bunSjd`y+Km&bj3iV>yrHkKg0GIL_+$Jg%!vh))NxjRaW zw@X%kLkR&?eIYs$r{st;t6MYg#|k!@`!8WKD*L?L_2yx4{{-Un5`VTCcAiT=xuwMe z?^ohF6SXw)CAg?ZnsT@mjO7cAQJT1p>dt=bJOn9y+=U{ zuRLSFMS)m}lVYnvG)<6iJ>tm6N*mQJn+ljRCP{As13`kDo3;DzySw%R)4(58-P2Qc@$-QiwTwML7xIIwk{^`vRFl~@vP0}iUZsQj&+Bo(!rIEp zip_d&Bf6ZA5|@OVB;Jx_5VyRX4)ZN6m*!_2VD$?yFnH=7vLqb2rkZqQw)FLK{B* zT#WGHZX0ahG+X?|ywHM4_Ai?)#`l`kcu8@{N&>@sxP!aVkY+{Oqv6qHYk}{4=F3%a zC$0ELOw=%JS%O)+_Dh+y9nV@xBkhT1uTi=bn6e~kkPW?q5l+iN-hb99GOoAB7%y}1|~RpHL_8hr#C>3qSWGm7R>JHm+0h1FcT~vxoRCZ-y4iL=|egE zorfT~lWYC9&sUPnoV)g(E|X>9;gQ-GVuWc#w~BK5`-E?!!GB<0>QgvvMY@&q2i|89 z)MddGf2g}nxdU#VbQO&VdqR^U6Oq=!nxv^*AK)NORYVi*%Yr|@gEXpCF@F*lvObY! zj|%A3q2$*_E%23E(;d%;sXsW^pR?Z;W`AQ?hfH>y?L7r4HMRX}!zEXWF*r^fasKt? zqM+}&OY$(@6^daA#!h4RryQxsgn7K1+IDz<1a4tXNIKkS2!{*G+xRDoAtT}6-9zJb zqx{jbIywT;4r+kVts1moY8nODH(hM}G$(UV@}f{3^@t%kd+zDk=<^G!F|H}5uL5JXS+93%)d*X<9%^VORHd_mq&#r(e9hDq&0iR6tOOOu~83HV`> zp2>i1FjrmFpzN2J^%d-;XsZ2pV8heXrrp6<57YbSbah3UkHWrfa?+nQg?k0d_)+(= z54nBMVd>et)ZEc96d*jKtMbwq^I5`OD0$2=q zq2>A{rLRVgW=bkIssKqg`CoNQT_!;I5;5Vp0Qx1~2Xsk`oltwb>ENcd(6h(L!YpsIm1GFud&y2LoU8HRn#5<(xR8JrzGF9l4UnSQC>2D7_s)X_YWcGtJ5oEBfh z@)XaW6JjabYeH?y!!s@HSA`}yNCywyiwoMLR)f=dT~Gx6()l>IN8vbL^~vaDuJ2F!7}4`1fPgm>Ig*ZP$pLnhKWN z>}H<WQQjr>-m+LGprr-}2H4=Am4xY>B-A|FPizawAj z$ULg_f1bWaj6f2|u5)Ld0m8NKv)Oj(KiClm4gm}8OJRB}G1@#h5PN~$+1w&O;jp#* z>aM7<8$JH8bI3+i^~v^W%-X$_Ptd1BZpqp8&uRk1{ALcnH!zkxJ5P^O4`*(ruD{b< zdkvV_U_*zKGDg+9HXG*Tw&QGEbD=jB8H+0`C5j75a#2K`P`@~7NwV9)pLxn1O#e}b zA$YKNS#OD=v21P-*25J%aq0Eys_7k~=^dIy{qljzs^bg6-d=wCa;wM!Zwz0YLg_4% zTCSBEu65n87Cayp2ELLlNy==JRnoBLtO!NejP?+bfI1O48dd4EOWc^akzYKh{adsza4;uf|H{iO}> z$p!{lgNQgBU-r`;7UrU!%R<6tTbx1STC;&AT9@`c{kM_%0+E#l^KSL8HE$!6{y*tu z*#i9~>^P;&GWdhJG=TebD&#}Wb7W=!MO!qS(j644y&w@7#rA=Lu@$;yx^=Uju%Ae4 zSZJ#13oLh&suA?3rIBo>bDlaPk^8KxwETGlXfJWkIGaUBBYz{)r~B|?>)JNjj}PhS z{Scw526fak#uM?9+W#oWPOi?^bg0}7GYLdnC&_&h8?>ib8O8EQbo^eDJs`>SWO1Ji zJLFIhLJR-%N{3VzoPc!7{3In+LQQh6rja87^PVE^fGgXf(iua2vn#eI#^;S2nxg0_ zB6(gaIZ}chDvUN}S5DmMge^eO<^3?fzjU`|<%`wmkFtL$pM}yRUkt!eHcxF5>lNTX zz&1UeJvGP&(p#K8J5oXYxQDqI!2dIS5g0GEk7$m)>(X#@(X?sz!ilAd{2JCvbGw&9 z(S(4TNL@@k`Dy=t&BJ9}>-4>O%j zcL&eK28>Rj8Dsojjb4_rT$qoJ_aYJY71-tfEd24TZm5^XDR)(X;+!5N}>}~F99P`QXl!AbFyKhUM62{dk@!Y z^Ua3uNNb+fRl8UK=D7_DqK@X~^;*Qqj#H}#02ZdZjMyZ<~+lFv3oonguT)G?isfOt=L(WTysxDOtUgucLRm?w>Renn6^Q=u@{AuM#{~RoR zc?4>UHQ{$cPTv97ckI*u0-rWFzrO+Bq#jtPfya#;4%!TwQFi7_dt5UR6ew4dOpw}& z*A7X?vjHzk{*08sK-sZi?z;dV507#-pa)N<&&5jsvGvS5=i|}-o8g#e0u{y|<~zb} zYUk*{u2n$XpE@Uhc2-X54-#!Y-q=^VN2>-QY5k043VLt&r-kNAype_Sz}yq_IEC1qY|CPSRySo>BzwNd2PqprfO}be^=Ge`{>^$1T(c>!Z^~~^WWwgOCpS<>T ze+rg-MY7p1_|??3heo6zP2)ZXh?s^zDdhcTw^n9po2oa{SFOOc~C!2Q*+yMh`us9EIw18=IxqWrUG_;$orMX zpS}D7T;6_v;@;Jlm>oU^x2t~#G_O7zJ|%Ogy(6+?8%To*o*~(2!(4-tf+55U3an_+ zn zeNrj^N5dCMdC*?-2M`Zs&K~P`@!uEpF5EY<@|=J10JX|%Xbr5(iKaiJ~S8?;`rMI!MF%S5Z==`pDrjszD!jFy6 zlDB-N`1?kd9l$|f$V~8&en)d{HB{+B#_>m3u)ql$X$A=?fZx4kyCoIUeS#H2_H!|e z(QujfsDvzta^wY~vmxl}1}^1y;|?Nq7dKzfAK?L`obW=Z0io63{!7QZf%|86(tJ{-_w z0*{6jmu#&@2r0xyXi!~vfZG#}TNus zpa`Tv6%2Q*a~ca=7@gy9FFMTcF?>t>no^>Aw#mt)u|Z~@%wiVM0%q2yqVd6Whn%YH zvtt5M?^*GVMto{QOz?k8)l^ya|5V}B{hIygSb*Oh2}6&B9kLD{ov$hn8i^-OlIk-S zBFBqHYB!0%s>U!?PgA=T9KI7^zI#B^Ic(&~obm?Be8w7JQw&3lOr50h^h}vW0#r?z zaufMX{f~VLw|Q!8z?a7m$GUu5HvhUi$+0at8kEi8OQq))aR_lsRPG{yR$O7dmaiJd z;Z=efk89V)RY+*q`qZ=R6Z2+r-){@>3ueeaE5=RZ3|!{OqMB&%R4cD=$iI0!@uXNZ zQ(C4C>;)3eAD+)KLqpx2aU)iy|HL8cRZfu0Cds#^VnV*#dyia%)jG65$Vwk!j!kk* zA~sJq}u{ z2u(o98tajE(@AHH&S61{FE=x4QbX`7g0ex$@&a}ur;oWB2bAS@(_k_Y!c>qbSu0Vb z{nv8g9$Z2gBStF2&)Dpdt4xzkCNu^v)LuyB+GOBI%6CD|T*A{6QfcnF{*OF;mc~r*GV8p5Wj?oO9xn>6Uq<@5@xZzQ z-r$Dm^+IJc~}-h_=SM6dwNPQjvV?-I!;Hr} zLW>(By}S<8&&bxMONCtKyWE(98@{h~R$|;9Lpey-=~a{c9iHDscQVt7vRMp!xX@>1 zcgwGlwAhN1<)OkNzDjwDiL!8)6Gi(XQQqP{?-y!$-%!`lOU!?ZGR1>w8!)Y8egAGv zCe2htC(oAZaXVW&PSuw0F_>{nis0v2c^#1SCvs^Fi(*U_gMz!?<;4g!IPJxwl|>rd zrbisxeHh;Em)e+SLmW02;4ZauGmM{EQO534WHe=HmF^QmETotu+$Abm@%uT~`h6N) zed>~<$SFWn>*>xb$L_*0-Q;M9c7qb%QTYUQ#;bvH2oGvkVb?!qKJ4?Dm3ZTwtv| zO16fhy0mJu;#OCg`ty}b}`@RyPX!Y2_vd!HS)-7^)!T}(}kl(Q%gA}{oZx%WLZbM z$Q@#RzeWv?piFtLgNCP{V;~kJ^AD!yK|_i#(p zkq*HNN$AcjefxHD&g`s9hPmG_0WOJ^P5R}JS@lqZ0bZ!|B|a6NJ%^}?0KA>H!x+um zZWKas< zt-6oEt&5t!f|nGzVtk~9N(Q~Y;F>#6v~xkg7eV0aFP561spD3%AVfX~zY&4*PytWP z($Db)91}d1ftv*FuG`Y~3*8qr&hZI*2rMh~V^wvn2M=v9N~(1zX8x7$BnFsR$_)5+ z&)PTVB*Us*_dZT*=maP6j34K z2F|iQ`W8uqmt|5B$#6!e6pwl$Bs7Jm$mX4wlIP%6thz*uQFuBt_sSvOhl93mPfR<% zr?#uJlGJdT;+=^~NNKIU-jk~SF@&>>~dqo_WHI2;x*bKY^o*@lt}07uObER(DSa0yH`(`I8p@m1hv zXi!e$=ha{LiD%^f`iIv5VmMUSIKg;!?=~;pnBt-@on^w1j<>dL^-Rrh{0Q)zx2jV6 zY_~=ZFackR@0xaz1w#I&pc(<@W(&L0zG)+xbSVCQN(sezm9#bZ30e1mOk-{ODYity zGgv6ePi97INp2I`r~$(Oj_4OD6O}H#G;0q=^z>~ksd&*P5w!XjDBCIfo_o)_3>|6a z7~m{O!8ns_JDU?V%_1@!HBt?t<{TN;a?Yc)nBA1L@pc&pJR#d8i%!XccY_T%985=$ zq)W)6e&&Y#kmX>22^!I|6W95*Fg&_Wmr)tQWVTwSHG`KHb7A}T<2rtnqGQ6HTzT^;i|x!;e!9VPJk%ieu+y-_kDzx#n^h`Pg=$1 zE>7b#RCNP;TL|HFoCK{RK@S`BdCpO({m&{PsdzDTreOvQYO$}VM+m#41ntg4T+obM zqd2Jw+EjQ8625%qWHbOo83KwPGX}PNZLxEsN4>+8@+@lTLx*n6ED^e5=fDqQjy3GZ z+g}DRumz>F5c13RWkt0c^x)ZomifgU70e^qtj^}2H#B#a>`+eTj1iZ)2T2Fc7OmM1 z&9P(;$~jeP5^eK0xjQ9o;wx!9Zd+3|=2*v;?VSpCx>#!$_;2qvFC_bLkxTYH?sgTb zU=!Xl-Rhenxom$|6|z@Wy?OhRTJAgx^~WvH=PO8Go4+|!6F-VT;iWMR3pPMwA*B40 zi2MR=nhyP3h74olsm@gHBoig|carY%`(50FtbEStLd&0#H&w{7pTGR7nL6#CR-mAC z_H_KA^nyN->bW0SFP<8w0_N`_4x$_$oeyy#dW(O8#Cxfir| z@>d^p4SUmh^u4?GiCVX;_-yn&hsbvlS}a(N#w40BnRln2e%y!|x&rfQ>nD9erZ$0B zO_L`e(lWOh_|y$p1V+b<_O=fYCL*u|TD5l$E zoC*(j&IxDpn@>lV%*%eHDzA2JRBad;T;$nyEe*?YIFGh^>WtC&$3esd}AAX+~yHMyapql^-agJEIBZ9 zgjqIYbbz6YmydO4{z z{AAjg6@l%D-AhE=<^6OqyjMT^BcPW{fdBcT`rvhCBU*oAJ#|C_;zr|DsXHKheBN`DaX{(-4DO2=IkLZ_&}HcZ&(PX}T1(w59XQ zRaIhv`5G*Es~Vy1vz*n`n}6HI{*+NTJZ&Hz^zOr!E(#amDH!pb0)z{Ib zpA9tcZ)6el#dKtEwc9VEar4`#mEX>ZPbxR%0&km>+PShUE$CxMMRpvzBVXedi{1kK zXgtuVK#t-8yyoxee`oA{{D1+B)^Y7hSe&ZeTy(F=OOpLd0(k9|p~-S1FDvEN=*1K3 zM=OU7J3})UYWfn4ErOFgB!~-cuFhSyOZ9TQ2_kDBXsR-fX;E(XPv0)rpe-?3Z*}AJ zZ5EoC4K?&{szUGP=Hntc)`}ooOCqQ`X6QOzm)s<~dI?)SfW;^+`ZWtVYXUt@Bt>6}r+Pa;oOX zVAfK}qb*)%8_qE;_VXo`64~0hW!(h0;HYjAJ)MZ?KA9%CTS)M;bTSIZejU37A%F8z zUUD^AkRz7J9w;2QLoBA_`mt*GfV2Ws@Nww10k#SNd(+hrL~7;WXl`#UoNvByeo2j0 zApAW>f3z>-fDOo!p5BXt*D-8&ZhHypJ&$zqKi`TN{rQ}!CbADMe>hJ|G~<6^+^Ik- zBRdgbZqm5L!X)|G`oyCMav$ALd|JH)3M`0}DJZBm1>cE0nqNg)ZhiPI;vXCzl_NFT zxdkEi3_lsVeijEXf9}q=^I?gr=;xCo9iIhsb{;(ocE0(1f8X_yZeDzid0}^1HxTJ| zbSya}ANqWB>0lAJv!moQ`;)vaZrLf9U)}xLQ#c=FBeedTgqKum)}Q?tU#(|TTTL(LxVEtf%yX4 z4i4$p`A>P5HK5F-B#x@n!xcqhe_D{=0XT8+eBY6%YqAUE$~kI)kS<7T<`HDL7?A!bOo<8opuL3k#uc?_~Nn8k7!beLde|b_@Ao<;F?eOdM z;tz6faZwJ5*1Ja1J+}JNsMEU7v#=V<`Lk^!Hmg{v;DwT-McQ;jM2>W_o7dmlZ>^M9 zpJ#FJh=LANW#;to%MScrx3u{44O&)td_jWsP)$JSff8#|j<8=g+Kj&k70c-giEFW0 zQWC^~NL<$dSW#FqCZ3=?xm##O)I{m~LHr~ul3XE_x!((5mAzZ8wb<7JGQlWy)I%wr zq9l&%PMh{`EO${XAG+cK@nZ34I3<8@$|BSfP#xbIW{0D=zDbjS{|pQrPbdv3d=N>w z#Z52*@KbZes5rp#k@C>~U`|%buQQk5lagf2?8BI$5Ui-@9x}F(?^MWx4=_Wnt$Z(I zk>7J3{qThgV@oYm#gHm9H^PY^>J=2utCA()LXZYHjR1NEf3(lTTExnynyUtr0MIy% z*(_j@mwy~)jrWpAjlis+KNs{-2?)4vr=4-6GxBBs#wgT6rH}EK@Z?yx@r~(hR_R?B zOHSsL`nHlxaCpbualgOHIo>O%{JVv%thXE-8Eu08LO%_g)H)=?`G|}BOEE(=4@5j8 zCbj`ySy1L|G)~?XTY;5We|1)}^XAx(BsDJuzTu-T$;v>Tf8WxH`t-C}r0INW)NHn5Bh5WA(QSAud$e^@)v9BKE$M3rZrkjY7Wc)S>9HDzk^hm^C|; zq1H-%fHOfT^5g+6*z64s>zrWNeFVggC6ULA61-ugY5f=chk42#&LGlAUu=RCac-WZ z=7t7k#Ipi!4qiCY%&@G?RS6 z>i$57q%y}!k))-YJqv(5(RaRnnujw8*yw7Tg;sghHe1+hXVW}pEKfb~ye_*R zL`GQyrErq%QT?{pT%;iqQHz_#u5|^4PpM^&)|<5G=t*WHrh|U9_5_?zOgh%4L?T%O zM?c~{`b^O`%k$owaCWUrPDQP)5=vwo4z5f$ZXyiE$H90eGOHoq@^()(AbFi zk$f37+KdI2KAh!%A!1i5-<{7EHVII`7du9jUb$XtTko2(G2jZ_g2#WNU%+7K_3eIh zq7xH&sd!)*yr^vwZI$<+pgpwvpc`0h?+4S|sB*}-v?0(8AxNXmT#=B}vz8^2>fqI8 zPVRS}egl6-@L-Ie&+D*8Hu=(|XN^Fll{H|F#pxnm!*K06wI42;U`mQsujWplr>Jt~W&ww@V9=eD>IbvcP3p+sP0q)iyD)a7-5N6Xtvh`Z5o^Ss%CU zcE1i*ZRL=75A7>=c4N4t5AdA{Bt@AQadr$o*?1MXM&NnNoeJA_kY3~bM=D7M?#9(;3 z%o#OTQyxCJQ^S1(-gs@bBM_aS6w5D_J1Qt6Pu9?e?v&PUjR0`7_Qt2DjRZB%SY#Eg z>7SSubGI{P9G7uZ${j<`8KNnZicOyL^13Bpr&Bpjb<24hsp*PHR(4LhzmE4sWYvQ& zOc5G#m_59FJb`|}{Bo~9VWD@6Rc_D){&bm9UTQHTf_MRYL?aEFV0K+}OLTS(-yHb? zkzHKoAGT~K(8eI>hFLvMWTU`JinPdN9E9CKX$c|V+&9BhdZw))NZ(t}kZwp5Yq6Bv zV2RZT$&JncdKhoJH7LF523q{73T*9#!x`I4$JZYvpJu$eru=q@?ZK*DHJ?bbMny;P zuSx^V`NqYeY+$NV_$I?7FUeuaP}o|)ih~JBU7_Lz*o?`Otm;RYU(a9boLQ8A0QWg} zOwA9N_sF486{*_WgRl*>YsOH;lG(iIgt<(0 z%-J@64vF}o7nw+<$U?-T=gm5e=PWtuE8*_A(716PLg^(w8?U!zp4FK{$A#&<+7KW# z%X`sKNl(oI314F7PIOBf)?`DNf{27IzgH3p+6wG0>nAhE;a|zQeFd0S-&`)Y6I6yP z{2*!x&MpIJN4?>w>nc*+&_8$k$MANt(hDP~Z<7X45&sLj=+q*cA;!yICJ3e=mv91v z*`%cZv_dJ`PhWTwX>O6O3M90WYEK?S@g5={K}K3djT=5E*j`<_J^lZLV|qi+=$VHt z4g$u1x^nivb1d?`uYNec$ItltfcP9w#>zlon_VKA?MmKe%R50zF+y~(3}R;7fyZ|$ z>i?!>Fgau73l`?x-VikkuI4qJa`W*$#w9`E9Kf~)?p!#`^!1#wE8;wDlcP5VvllpC$>`d-%O1GwuU;w5r; zC4Kd}@+^7!btXQ*m4ZX5w$Hn^<16>(p%Nndq)$zk-Kk*n=0Ga6Ou zH*ZbC&RP&<66wu!kI&5r;zW=;1jkhK;-h)5I2MQNb_zqPaEgX$hP6^DI<@LT+v!4H zsj1E&@=NipcHX=g^3w)FX8s{L9$crSSG>4%mLaMV@#jtgqP2N02i!Zi8R8y`zUI{!K}j^)^1=wF!%ndr-n z4+Frte8HETCi09yGZ}`zOU|P{i|_a}_oUe@CWFsJ=6KZN%m_f!!~6>}z4Y4gb-sFVbO(dhG`Of6h@7Ay z`XA&3?9RDY&>W%^tbyEfg7dX%RK93u!~CphlJk-^r!$$ptXxROXP!!4MK4&F(?;0# zqtpj?5xL$w&*rQF%ro6r31MoVa{ck%&2@i541xT;>}!2qQmua&gj~BLhg82WN>E2G zUDWo^1NKl@6~(TG(v;sJL-m4J0c4OoXjQP%$;J&kB7ryGT)dOnHYnAkuRCTtoPC^P zFqIBpzYx&q>wLWdeCr!wWe8wJIG5DZ&5Tss5zQo6^zRv@8*#YL9My%}%lDMMxLm?z z-5rO;n;rZeC6VGHIdujWP}xCH6Wz+;yMaum<83?f-cfNbn;prCS`*FJli}xzK5PPY z%kADLFDBzOc%t3Gkyr_3ZMc-v7->Yo@LJRo-3Fgtw2Mt?EjsqBUyb(GO^$W$4CS6! zkJs%#TNVAf!%X31&)?=vE=)^lFfULlyiHfk{U3B*X5QJs2wg*zzA-{)<+CzQgIVta z+2oJvU_|?7O=gU`T8CS;!ehImD;S1$9g#+pwo5b1G(-Q2# zWJtL$i*{!2E2|FH4g%_v? zq(eLY5)16s!s6q>LNUZRoG;c6~9nsTQSIbxngiT47V^|GmU;A0UXD=p5?fe7E2jKG))PzzNf7qfeDOTFx0 zm&Rt&GcT0$C%S*Ara!0)Cy>OfQoz5C4{0r@EDu2Mr4O;g8I{T{etzZBt~sTXpJF9t z{=#&R%DI1^)8hrhhlr+DtF}%O>@@YRb{TEuiaA7wMlZ>KCXb<@bbtvTGPgecRWS3$ zq&CE4EBlF3zj~@R3*5LHcaaK#KILcK!x2Kv0g243(M56DMBp=e>zi=@MF8XP+}d7T%w18&VhL^<=YmawR^I08HT$68yk z^Aai(3eqau*KHc&LNqXI2_v^V-X2pF6*NibO>u7%BWZoq()_h!`HtXZLDLAL-*D0@ z2DBuNe2`gSaDy9i;qQj7AH6sWj&i1#-wsOUg+Zp}KApKqAEPbL-@8Gx0totk7~=Wl z8{yYIYr&BW`_6A&xkrN>fzJ*`IUD{4ubMsASl~!57zR)vM}Bm_wq)W_eEay#x)!IO zN4hp8>P0XA3vb9Zzwe3~F2rBRufeMyscl8Dq9pbOT{-0R>klH3?y)u}mg=3KS3who z0S66DG-uBo?V%AraI_ol*Wu~C-XZ3%p!mwxGabqgIX7W48;@Gkk@4s|z$R<5^cKiL{?E(@vIn$NAo_MD`O(f-CHkj;=fenh_89$)N27g|Z--+<$c*>k-JRs5+sXRaRslcOckNe72QJWAy1dP8~^qRwH2%_)1%T^oGyvTL6SG@X5k z)CpKlo}R^QjMlLYmGZdk%;u?qcRG*NO1nu2A3xK4LwaHm+myI5y;_Ip1}~(oSlMc$ zTajG$v0=UVs^b8owct*~*hIT-ONN)}$C1V5+{H9^-zI|Ccc7&@pSzqus%M|h8v2&>T9Dkan9m&F@Kwj1< zGK8K(LC1{G-DD&QE519^Tb=f(VGJNMrIdawW$6`QuM12%~NIoEiJ!0&OZTO z|3k8NTB_p#i`xz=xQNjFudrJNrY)UAC;Y33`Iw@I+?xd3HYjs4EK`>ylsv*Kv&2pr z0pZi>d=xNusVh3CSwl&sTiin^@z%}%hm^f^Fw2>5o21A2KhWg5c-)ea(^`Y;97%tS8{MfUQdN zxiq^=o@ZzA5|QbdoiC|nm*xo6+)b~zN|PSBK`6S&8YdG@$W(KjhCny!i~f!QrhVL~ z>N5*B4^P{dtG%6zi|@z5-p9+O&4>-%Ru4DDoG||Aq4k7B@fHk4%di#?zrRDzW?1;5~@`zLN zaPNdxz4u5wva4rq-W6hJD>gj)^X+O=-EBwwochv*Is;G0OJ#aw(OhVuxPMZsDVGI$ znwf@HzMSRAicrNgNIPG(9>_Xhsj-`Ou2ch3;b`9mEF6N(~|NFG< zSf0X9_5X<5jy`4U;AZ$y8_50Qr2C%d3yop&hZpu1_4l1QL;p8@dv34%J>tI)jBC2_uvgU;M$(^kY4U$P0rzApIiJ9@h5KU_PiobGaDfTly^JUy8S`1%Lm4%Rt z_F8kY$KF}J5{sxw&u8lH_?zY%%8g^n>nn7$wtZ-$n(`sySPbX9p@Jk0_kVozQk?3; zwf@3brHAR=Q_14ZA6PaFeHHDN529rdVP7QE_;d?$=t-uaGHle-S)%i_(1aN)vHiab z-@QHycM54pN(YBi2Yb@iFqGI?oV{_H<3mYXv|`K&=>xbA^+Rjns&H()H>%tW)3RCE zw-{)=2@+ylxnW%HLj!+pxGh)Ah0VoZYosibHNlTY0Z%%|=Hg%1jX75}hXAj_AgQd( z_;PI>a;5*L`hA&PG0Uc6gq{UB(TxPSIMT)l$0@BGhX%O4ZC_pKn15YgU02=uT$3!x zoHHG*Od5MYKKA#;#m6ALug{#0qck;T-Ne?(I-_S@GI~`%y}bvEK$HU+2LxOUazzQ2 zfOjD$H(s}H2*LQm#|RbRc`dS$-1j#7}K;2 zj9Mo=JyLYttUud=$oxPYCS+dToPv9_ryebryNsix(CX;JD0F!LG(;%63mcvTl}|Ms z0@n8f3RXt0MthWTzn?9XykA}-ecf*@WIcWXbmm1+vo_vN2W-FsZ)0Mb=A7uUT0KLp z?X7z?xcA`AB#oWvYluu#xCp;FZ@g}dkf(H?vBYoyZW4ygz#N`VDx&n6GQIWqb4Q9%_ZKh*hgZ{F6>C~DnxO) z^hQtj!@G*UBL!j|{7w(R)4?Y1W?awian#?&O5wb>Dl%DbVcfdtU!P zrSMQfG}QxX`f2*RfVXr(oZ{ui^MkS*(Wlw;aU05SEz4zN=1?zS)DVr&%y$O|u<>D!#1OBZk+fYekJ5M7vM8-I zQK#4Dy#ayt6YeR8!eVO##abNGp?#$j<6LhD1E1NgWHBEHSv6j9vKiv%9vE7jVG-6F+%G^+)zTgGsIr)Hl1S zbB62cE)S&}X+#H>^{hbF(*{@&>6Ml}8s*;9?FQV!(69h&p5MXJ8A*T!7H2v~ST_w|nc89gQ&0bJ0Cz_fcgnZ~dR< zeAn!awtKpv=SyX^#3tp!5?#R$H<2V|Q9xAPNCHp1nN^uOrq_1#`Qsy~BW1))cC!(J z0Ysy^5e%MMdY3UGqm57n-IdG4Zs6BwBLadWi!$%zx6Gd9+~K9#u9-ETyu?Kpe+ISw zAibbH28Aq~YmT!my0Mz{bP@c0I+b(C>Eg1IezvM>!4OH`dOf(M5Xhss_TWwu>p@;& z2j{wF;7IGFg$_^Xoy5AE&A(5e*3Z23)dQ}p6GiaqY@-V3@O-}1ZMS!d%4+Mgq=VCi zDQ_ly*iNzc47K@?zmP(UkZ=I%yX%`e6OXp=JLAoGJ z@U6lM7air7#J`ujBKH}ykBcf_i#)m5x&ePOTmavnxQEO1K4W?5-mP0X%sb$P>uLim z#vyc$^h}Yxq%_2M8CBqVUd7rl9%kz1;K-ylr@}F ztmK#r5#;NP;$01ZsdK?#-ZX-cxg^hnh~Jox5iSeisWInWp$Sz8iVaPXw$Wd8Dv-I+ z^fh@=22wV@F9_ZXJdU|^j(D!&*?g7TD?AXU_J8e1J0MsmG6s2-~<-cPp?H3Z&cmK@N)7}5lR@i>X!cUbYb z)kx+~EA4k!kt3-c+a9=D?4#ClW72V@9(Y86#)~C7XswtFHIdll1Q6{ha&liauXa(y zpUM}L+t9QajnA5MeO5h&F%soc%n2S}x8(YKrWLIuSRx3o*(a?SPd(%nSzh&>mPGr| z;T`_AB$9K3%KwL)9jcw9Q?(3HA3Q?hGKxPAF^?TjfK^ERr0GxAa^%DvLvYbgda84b=_T_1 z`~CO2)%=#v5#l`2<>&GGRzvqUri*MQN4NhWIn@B{gYMMq!j;SRgS|E1PI9=Y1M;LL z?r4|S+GUO8qvmt^=?M#P&Z7VXuv;etw^Ui*batWU9XU7=z*L0Vcd20c{J1zcoG@hP z;sxSx)v_3MWbV-fkx=&|!^$-m2gVTaWH$R2zLmO@M_2CDMh$|W z0GFqy<$rkyaGX;IEVRb}eyrnCtzaSE{#^pFo+hAUQ>SClnW!-C5=fvxL7l-##r) zChqq=(S>D)l~C{-Gyo-%e{WLb4j*Qfbh}J(=MM|&kFqFOYCl;$oZt_ic%vw+q|{r&LLC~8DZZgGZCpdffS z)I6Q@A49Un*tIb3XwUuOZS=!x38c$N2`m_lo;4pf<2Mwvkmh%PfwZAX5;_F_F7%wJ zb4iDm;gcJ+1AYF>mBb3V^#O0VktrH;~DaevgEDSfLJP7+kX<+7d zC_MzYONGHS4#K9(>jZieupxQnVx3@^0c z3(in*F>V;bxS*Gxg()znVoI@_JC^zYLrw!#C_K8T0mugf|ISk~=3r5d3jDV6u{$cK zTe=@Mna=tx+zLKWSwfMiS(ht*e*#}(gEq39N#3^>R{S_*PL7F5N9LAnh>vdkzI)Q1 zfrhuUM&w#?>~gHr)E$iDINKBZq-;8kQg7NXH*@vDZ8S}mR?BGjQG+RHijJun3IX6a zm6+w6N8|UVm&Ya$3w5$c?%9LHc>!TC*hHh_$GuC?hlCh z*noN|zG>f1U}WZ^zz0RyS!y}7SJXmmkd@(8#bsm~6l%p}ll>CZHybI#0`eM|n$9A< z(OlD^yV7*u(Nf3;tkLnc8ZnF)p~)T)9~9fV`0}M10w$~m<2+UXLm{Gokl2J{bC9$J zb;>69$=ynRC%M6iXwL_*Gv|@G)YvEuIT!2ro9qmG=L;C;mCU+T$4y2l%&OYv?g$D` zX)=Kf*qWbbBcJNuA?I}bT$tJbGfo5=dcARyiJawqKP5O+yudfnn?GD|WEz9`**T+@ zDrJ1t&gB%yU}O4du|P#XFnm^Km&VOWjjITw?lQ~ZiyVkfGEB;g(+2xP>81{DBsYJR zhsC;m8%We~{|qFQQo(Wu$}cf}zQ{Bi=kFcYnN(eRyfS?2q4~o;`Ju_tQ&n3WA+Xmx zbXp&kB);O*r`K(RX>CI|{W`;j^0olWQe#=i6t=It;h z^YKnF1{|^fr}JEzvmnn|s8$`dLUg3~+C*8$aE6`i)txE!WF~mh{jUU_FZIt|a*oFB zgHx&*Q^S%0WnMt~OpSW9fq>KLqO2q{A%4C1oyC}A^6U8zufnfoPjk@JtwxP?PgAan z0#k4|x-oz17tcDkx4NXD{1KDTU~&C>73%>pEiI`(jIC@NO|%luXq& z*7H2^IbEQ&@H~DT(%fWO`(Ha_d#+&b{$7JhVH-%gw7m>&Z6&F;4!39?x*wjSd>UtQ zjM`-6bLz1a>i~+1cR2FOAHx(6w#UW>%kkT1GEdCD9y2`CgRD@hhOT0dT5N*rb|40F zDkG3=+e=gLz#z;kf0bG)%-$t5$HZ)(Z6~y&f^nyLY|I581R7|P%^)90bI+%ahdk~h zh?lyTr#bj@pJn5w$iQh%7}ClG?9?zut_t0v5NDx`C;mxR%oPSgm-p3njEWxAUty`L z-|ktEU9^{jKu$rN;`1r{&ps`3e6yzC6X| z@9qlVBM0!l34iUBo`9AOKo`V{HlN%y>a3*b&3x^7ZtPM_2V`wtK7M}JZ|QV3WGlb- z{5Bqv78!6*s~-!C`jy@r@r4+X{@A6qGImxZ91ozbB`pV(a-7#z1}*GT5Zht7)wTri z2F$swT|?ybIbSH4SwgS7k;h<&s|fOqf&;|k4cBbvyBk&3}CvR?#4^`N7oMm_WnQk=l zSTd`~N zvLM4+AEpyeFEZ`Fk?I_ehbvUdNfy-O;XrP)7PrxnBUdFG8jN~X7m*heDd~iYFWknE zGz^6j#zKUQx!u49jG1a@qwk|xkteJ{%FBacj}r{ z*0jcQ)j8b~I%?DF=c{>wgqn@F-25#5jGjQXZF`2a5>dlSutf3c`dLU9f*)s-1sd7p zZy-~tczyFL)1+iN;_xQVbDC8)Y3OS}!+X?W7SPcu;F@QX<{Hql-XXj4ufAUlK*x-6 zJ1;l%f+Fm(SmlT^6Yz|WwRQ$#()7fN7yN^e=3O7Uqx@DtNjc=hwo;J}9rBlxEr>kS z6N}_VNe&U)iJzYiVa=NPHn;}n&Vj0ww$x47qpdn{MMdKQ1y<9zxV+AynyDTX4;~W2 z{Kp47j4QBnAJj6qX2!)@23S^utUtm9r=UTM(7cjaGEl8{$%nb1R^9TivixXCAJv!% zE2Y1GE}SaRI{crckoQHZlmK}{iEs78u1kkd_(ev)lTU|=57UaWoP|#VKNBMR`yqT( zluBTOQ6VmAMwC^e@CKW3%Q1eKN|&iUZ58V(FBxtHRx7G(7{CTaqgb|m$FwD@)*W*d zbWKu|Vt}l||HZUD>Zw!A>7CctCT$QD$za^8=euY@pJ^Mp`@l44wajj{5cP&POc=QE zi0$DsU>p6%&Pf{|mpKGC(;EhoQ@W(n>}l#;AG6_)^T({3`kwz{{1B}Q$s~<#@0i&F za** zK3FuC^{8XPnf>on$7h&jq81np1GlCE)t7|QxcSAncC=sQFdUj4ruJli5p@d=`!O(H z($rcE=XNPm(sE1QB&wn?U>Uw-dVXq9kf8uOWK@?cwhKVxDyBY{$z2uPW{9W`g*E#* z3kM@wekV}<_^`lwO6J`WWul3F@xOl69LSqoc4wq^EuF(bD?>$V- z-431ho$t?Eiulx|FkmYOL2prZ7k!>#KgvuiG5iDg&G_1y`wBO>P7z%_K%q;m4=Gk#N3X3VU0{l-q17|DCM%l&M)7G(W3a z?!)F>f8ahm#%Q3i-Ds#yyS`7X@mvT~58rs1jXx?oTvw@vLS>DMR@V2C5 znN_{HIpe6(+OkBA9irhN=ZCM>b@!8HVj@fI@bBeYhX(6`D42s|Vv2fK_VO8nyDNoP zHT}4WjS^P*pjv5?S9P+Ysg$o-{oJA&cxA`73(z!B1F8s@U6BimOD-~&xEAx$M_7na zcD^6bTVTHM%~g+pP9Fn!BVDI@Hp|Qb!d{5?o6Fn24#T<$S086$?^DlUh>lS*6=F}9 zBnBkx-5;M^XdM(rhf1hl;$ULEip)(W?V*uF_#T?{#2w;p&S8!Ye;>>l8vJL*d4@97$srQDbJh*D@q`kCcA1NDXmd~F^SJ%yA zrT0Szk!x$3aj`8u92)ZUS7W7ITGx2S5hsP;E$_c<2VLX&K|obe>>xmyfF0>qmQT`p zFe9Ml2fPBgcWFDr2=ooDHn8V`Zb^S4s(**6#I1<2NvTV+WMk!-iR3 zBJH(gesa1Rl}z%ri3*e%J^F_Z3WWG0JJI=}o`6d#8qOFNFhm+I!wW#-ripx4z^f)x zy5Y?S%iz+SaczS>6lk#zLI$dvYo}Ley$Ew+vikFvLfQLhE_Q1S;6up7p~U&Is~mqx z49w26;15}PsZv3zg+(1cLbRx;;Yqbbh^`W)OWid4F7eia*`kkconI zxXcALT#yoUd@g5=)m1Y(POMPKZiSE7h%@J+MU#Lkj;-3E4EE$PIs{kL6gy>nmCL%5 z_LM4=Nr2?f)6FF(Gze<*melx@e_C#ICUP3FZ1#-aHLZ=!v@J*sA=I?qp&KA|+A`kz zMS{LC_p2x3=ETz{{z`jGBsQ-!QDcQiY(()YYGh0oxijfd^HLMNuYi(HL3q@^5$;dVBm%F{Yqn-E1Q%k~tp(HcML1SLzhv%aXvSbxN^3+F} z#O)WVZS>cQTf6QuAlvzg)8g}*M`22@`ot&5F47eL5F{#t?xW>_Ce>|9w_(pjpvoL< zf{B_C>oA<=FsV`gPDT*74)2+Hy`HmNMjCQ?cUgsT&}b8vN^`b4H+W{vhBOE+G=@f=l4!8?>@W$*^S&}&P zSkQ%t2}odchD~7$L1;h0yhtZfoy2ZjdF>-Z_L4Bn<>*0Mk&vpXJW>OFAwz$_@C9Y; zEOs0`v3MxkqLB8lg_|+WBBZq0>Khe8T*(5sBSC~mb*}i3`0Iw=Fl}{ajx8 z5HiI1anA1z%o@lQvGGNhTZwVru(u28Kr}Cj$ANrNYWGBf!3SU9j%c&VkUq75l|6Ck zL|ZR;Mg*Y#^`8nL zX(0IX^g?nLZcf-j0W_gyt3BHCkoQ@=LP0@|1BD0S1tj}&86Z?+{ zA)!g*HUZRcP+c+PGwg%_(zI{y zr{8F~y67y{@qTH=p`xrVZwQx7`3c&c{+|Qiy*51EgQfXZmI9$!((-g2?;N%m3j19F zyAL7V&e7?&$0MA!oa`ukCtGISM zyK906!?0>|2%GuYV%4tbRTGCKfAB<z9NL`J0zDifhn3CC_vLKy58nbwrGDoOH6TeK7esuN-mqVPrV>5sjGa%q;>=T zK#FvaXx_#6qwbwDQmSysEa23=Du~9qp8)TJ7vvjtF^E!t81MfY9(2W#dC(zZI#Ls+ zQ;D~(#ijB$pXMGyqC~^k$zb7{D;aN_|D>6RMO)B#A0$OmWFM*B0TND(Hwq;;IUL14 z3+yi0BU1En!qwuE-c=ZlHZ~G&;5OK7Lr?WRHV}Gw_3j*uwaK)m=l|m$KDnMY9W&&w ze?*kLqd|lQWDJ9COL7zzerdV^T;-bL3{s~a*qlQ}HJxgMRn0SdxNlNmF!>R`KNfkn zFey&raE;taf3ae_@P#lRMJnb8Z{4*%SyT*QBnG+Y9wh@29gG~id1XAub+$=!B&t(4 z5{}+fr($JNvDK0wHA6^3^+UYxdA!mp!mjOysi+;DR(en#DR-@H*f&8Q{5eG5vxBmQ zxr>8GPh?$aaQXuSI!U2`5W3*jcL7#Jm^(Dg)c*0e71)CBZ;=xx0k*m3N0P0j+xDp2*^HC6=od@I$N&~ zx#UFDu&H6H!=joPi_+}{usdnA1%rbzw-Pm1Q!KC?7Bt%Q+2fTXtSuMRtTyfM`~j5= zkvZvK#$CTQ%w(XxVLB2jn3E-8rAnqHCtOOP-4Hwjq{`O+l6#j{)!(Hy(kN5z2V!k` zX5?(3OeufsUCQ48KI zc8gzH>_~DtCp}#*5ZFCsj)Ah$Q<({Z_~-a{9Z0)Vylr%%3dtbI6?I>RkQ`>{gxv5UnHm6`TwEu8@~;230L*xZgQ?|MMPTS8;I=H-t*Zc8Iz&$tM1!4Z z2nOGJsO$!rf@PO#ER0JzX!M!QLjCnE^Q4KZIjoBv`a>K60moxIGS~YiM7BcxrjnAV-9S+d3=gB z@?jSw%#iW*r)k@-?#{^G%neF(z7MH@T=RAfW}}u#)k9~c$$r?0YhXWtV#cKUOKOb~ zv`E7$do=NUGwxtlP0TrWu0iZHRE=D3V+I543I>{bp3z=bd~~)QDt*N8HnsxVgIRwx zyZGrl6FVpze!1lwf{4fTQ<6PJqm#X%npkd~WF`d?VMy>0aC^5j-eG!5tl6mw(19b= zh(!dY;W12_0kt+Uk?ztwInK>#@hk>jLEU9jEtMu;JTR=HO6YIE+j?an+mc*!M8mjU z3d^ZI@gXdc{~h=VJ@npl=FTLx@90zsH4^4{4B{*%XVKBIJX1sPOuIo-q@H5=Dg;S7RWkVQd# zoc>~yzhpS}R^9Hl*>^DleT9#fO6?;PZ_`oflogwOOSa^c0Gy%zvgWcHwK8f@JOLI+ zsO|i0g^DM{!c8T_?Rm@_J0U41>Ygb7P$kNZ-F{rk0NZZr&Q^N|s zzB4q48=)5kC+!tT5sQ9$mjvYh_bN1CmJkH1}=9h zL6$e+I&%mq5wWlYC_Yx=+t{eO&|UhLIZyL`U0}_n{2w0Dd!xw(L&bKJ2J7>S?W-^a zSaecugkA-d(28(E`3-%Bo$91tKS8Pb>=yS9Ul3h91MNFE8e#IabN^E>66I#@am&0D z+T{&zzqN@~N@M^Y2Ax+_x8oXJ)VIbYu20uOgCB4DV2S#O?e=+>m{h>@C`r*{Q8R_t zoiKc5hPy2UtFn71MZOcR5<^Z|ScB5tLq~Ti7jBcYhOQ0)mCg|+Eh;ItJL&&5PXFjN z;z*2JfKpsdwxB2)x;+_*iukoMkn%U7 zA;v^Jsg5o$oY?VkYCh6 z8pQm00#!|!lBPUpRG&kpD;Nc$RXBg0tI+p^;1t6pM`E=>Fk$Eew@_ipZge{?k8Qu! z#}L^Z=he)p7F`--=>?V*3BuGST!GhRL#mZ8m8zZgS!I7uslSN^BWfzKn}5?4Uu<)~ zrZ{Mrlq7ei4%1$8?!t0(3)_>-ZZfqZm6(#CfY7H&T;{a8MNvtsbb%K#Ynj2Farpyx znqS2!qg=5n(10NW_z%KAbBSq}d4_mDesJ2pE|mNxRdLtX1(Dl4OEp6iM(x0g&q~uC zE(?iax+RnRv8N^G#NT}SdT+XZbX?;X)oN-PdNe!>!q)p zQ<1RQ)g~M)qhq1k*;Ld~l#_JC93>2hu+a!DZ+#NYz*bVf#-t7L3QzhYSSagf9ec43 z;RzL)iO?o05%2o@PP06M%a^oaa)IdL1(IwyW)R9!Nna3=et{-`7UhF6IW# zp9!4NDPopqM{ASQb^ImBJA=@Zea`#dY3#vj*_y?LkJ0J>4l{B0hrDcY)g`!WykN+l z9|&LnFIIG0($(T^OlBlA1aVqh3vd_MJCG@d_6+fC+^FwP*k1vw9_yE^)|UJaA4iJ0 zrDhYNaTA;uoVXQx+RO_vbvLZi#O3 z9kpz}0$y>#VUCH76{;gjsI_%{zRb?@)dQ(?c z93MJ=8u(EtT5I$KhymG-G!$82k?@TdKt>rRubwWqn;H`EU1H^(tpY@&@O z`YpK~)9PtqebT-Xu*^uXLt&6UgvXsyt8hhOqQx1Jn~>v#J)r(t;HrGUAT|H%Ue*T^ z;0L5=ZW0u9BkX{hDl(_fTszU=W#jAO$6gKmT7?mhfE4!weq)<3(TF*0aPgv))iUtN zrPj^J=8Z~@zTF^gFJ8Fha2b_Jvjp;Q9w=m)b!>2oZ^G7{UxE;n=~1%?GR_S%GMfWH zhuDhkhfRhLPI`irIqmpttuL~(XwiaU^-NX}(_B({Mi8Rsuj3M%JfythWYTjTw75i* zKh}iSvAda`MApInlnyBj*KNcXBKTFQPBdoe-D(>qcRJy;Xg%+K&M6`)zmHXH@`i3( zIA_61@&io0U5|BcFCvHuQ4G`)f0>{g?eC5jgC2!HTiX4eN+O>9#{zWMbg`ly!j+`8u*2tD)(`cUby%3`7NB7Vd8%UXf!}#rr2Uma&A&*kG zX;#zI;KAnt_XHO_^X5^2KCpWw(}RDBD@5m#y|DSYxoJA1B80Ij9CZ;o0)tB9R*vlG zN0DpQTSD;jZ?SoM)%oY{~8HEio0 zP^$tmwoY4-3TvGsv~;D_C0g!RbcD+!%2$}6&q~s|n^3hh58k?_IAQUFHu;>3<@;mZ z;<0Y|3`2$AoGM*~HK;Ll=vrkezNd-MC_f6^JV>>_OcBE(y)Pii#8J!RikT@a%2E(% z{3&*3ay|T&gp71!n-u=?#Cz>si2%(N9HzF(7Q}&V4 z!5clK(Z(BH3+95nk3ZUQ4{nqho~&pOTV%Uj;qRM`K`tL9k>%??_W|coK;SIqiW_$i z0y{Yc<(dgKO%GBEmsT`As!=Z>N-nGNOpnCL0rQJvA6JioLl1ns%l!^fgmxaB&JfBojXPB;KjaZG70}E27>QPEPP=&u9j%ZFR%DSf@D~%2~o2;5( zio}F4?`-=%Ga($@Bk*v1q@jJqDXkm|xxTx=Ofh5UL6OzRlnQrH)A%mK6}Vw+M1`)V z%*e=3(EDZm{_3s(ZdPG)E;LNl1d3rmhMf8+4Vrmc6<#tw>L+rtH{i%j5djgB zw3f*7j_ryAiOI3Qx9W3v)rt)RXh3P$r+?weMr0h^zK$Ys4i&c(Dty6UtmRdb%t&N> zwy%3G%;{YfI088X6W1_etKAl?1R#|4;qvgM5{2RrsE8~>6l=GA%vl_y%?_<##hyQ( zw{!4uS@)bUM%1*nAlX*?>v-J!U$q|>vFd)pMrX4Us$079wTIYjE$W3q<2H4;gK{54 z-)8VCnkeLL^d_FRR^`L_XT*jNS&pMfw9QLNrKQ(?8yL<*{+*E-EeJV3K_^NJY)M9y zh|}!^mnM-IwW6ekjwY+5V0e#ws5Eh@$T?OE1HxE3<2HSJV!+)2b)@jT$#b z1?BN829+wIoC{Kma6Y~(jH5nAD85$CiwU42_C4IT$u%h3E$VH(SVBjR#GVbhF)Ay< zPOh2ypm@Dk_XVYE0!f}(Fh3?FB+xCZZqK?)ln822t)53p-EkBTmPJZEk(@g}q-lmN zmzSW58N2KU%UQgZSL|u<;B3siA)0A7?H{`KEOKbkq7^`%dGYj+WHdg43^vbz12RSL zcOi}7n9ykO1DO$2X0`V$*y>9z&Cph`l~09HfNIRVZ(gP#6hK&YUJp_E99YSQ#5>=B|7xB zH+@=7MAe$->MC5OAx77b4cNt@7XdVuZ{qG_6@ja|vvawxC_wsm% zOQtg76A~^XL?BZ4zB2_So$<>+im6S@5HvIRok!-*EiohRsD0;=fdRR|&iAj6r5}&M zT7RtPkGdd=5gm)$&rMGK#odRIP-pI8UPa)!Gwr&>NkxLe*ShEtX88| z;0{d*YZdvVv({0FwODo&5=dY55{Ca7K41j_GQ-1kJ;c`DLN-S6RI~5`R!Ly52;&$- zo+`dW6Umn<(LEtK8+iy4&Qyt58)J@q;^LjA z?AyV^#?SMC53EV8zPI|(dJh8;0@S|(1@1f~lIJ+XZr3L+UfE{gxq(^~)GLeKx zWQiIi?GYGA6R0zjY*##A%~{yco>f+$|5CSg!SA(^q0*P_f)o`}ve(~MY(SC$>y*dC z7TidewZ$yf6L-OG33aeaWgVSy{*W{9Wr;HTml=`6L33IDqm=a>WmXj|2GVbfjEz!o z7}|#qKJ8TA_WFR!-WzUvfm**W?VFfBHa#fDAL(If^ED6KFJ;w^I$U%K*otY4)A?s{ zNvA2`oFT?la^)m*YLZM@>_w)6XyvVh6bsuR_qRNM_KgWtmk{ZKS0sLQVhnPAFGve& z&BC);gnX{^izL|g*INaABj|xw+laA&B(q+G{J+7l{zy{9B8bq@a0o@U&Z#q(B5m18njA9BolIXRkHOd}F^A3wMuHY8$((NwP zGhR@dig6RkHe*%3#+ps>|4j8PKV`0i6O=`YGwKo^!j^MFpeN5n1^GkmbxfE_lSJ!% ziEzT@zIe-XeDu*wXCjc4Sk0bC3r{Rl9)j{@r2YYqDYKdg-Xj*b(H3QVo0HA!BOea9 zHTYg6NqND~*?+AP6nmz^IlS_9d>pc>?W!8-Fdf!0+PC_6E$t|ZIH#zY$R`BeJ_P63 z1bT&Kji;^GySjc$zv(V!?M6?d?7Y=8E4G{_Whz{?{IXh);h>#t$Lx<@oc%%cFe{mIG87zlfqWX=C982<~ptovG=fd+%UfQ{GG zE|9ec!D^VYrIlDV@&WL&nMOO2zyLbuhUF+DLTpIh3qc_AYS90jO0QPFBOW~GC&FrT zjkLF>r_SN`Iy%>YbUle;{;?H&ROe{h4g3M2+k(G{BPt3Biqt8}_%{LUmbz05v5k2@ z3@h%cXMC$?+!_*%b91jN!BWAl@@v@K(KF2RpP+ag3@gwSZ}$ zc2yGL)z;X|yA7Tml5(0mtAH6A$cYi_A5BOlAz6is2al*5m|Uklb)F!|iSG{5D2$lP z2U*M%W8@3Pz?cynk?FyS%?c!aZRa1X@n;&V(8a*_ncp+I1t$&L$ZzSvJ{ISA5g%|g zkBn1bvq(nyN|3@!l&f^OJ228Tzrzsn4jEH4Mb=E`Oa5ltR#{na-@Oi6*kov?Sq$+z z`L^3`vgJPD!=>^bNQ$(YcwUE>@gnzeb-9_si|KEa4i(txyAHY^#^F87nHpFIEg>!cW?@l6)VPJI2;VA8DI)I^zWGykh$t( zp8U3;ag!bawwLtIf;3(Yeyd-$yN)s^y?Mb{xE$bG8Yq#)O)uu3s~!?&nYo_TNdkt8 zhEXOr(?xp>b^tX}eMy5H)_{i?JKe)+{$C7rJ5S-?E)c{%>YllGPCG;cPiumP0A8SIiVLY#C<DS;rQEasFZSjfpN6CNTHUQ1#xpmlcTDCvg>K?lG^j@ z9$cRMrD-W}rUc^1kSXh``5QAbF3!#?OqKtVXq%R=lWf+fSwEZa4r0sW9ba6A955oT zEU)2OH5ZNDjBISYz7pyfuE4jwuH;SS` zI|)*%N9HfuMEP|kE%bi?z(7C06)g?@(&0Bz;VLsgR%l!4S&<*Bm7((ynNWF}u@S$? z*~kKe6Y-4Pk}zg8d0H+~vifwz40PyN_uP5QmWqco0eTLZ2_O+UXAI^$2Sd<00n(#| z3W2))Q6Gh7do&kl{d!O%bgeZO1(6TDy1)V#CPJ5*riEiT&G;2nY#XZ^Ki!IW5Ukv7 zi*?BZus!$T!sQGYI60MJ0QHqV;Yq|2MV?heQ-tWbb`kMxK)OZy#%_m@Sd1@X4C?P) z;9TAS@6u05##A=H7z&}J%4q7skKj$~!iBqDd?U+m)PWH^6zb83Q!VB(Phcq1uPD!Oco2JIftS8?u$WuR<*B9VEH1JeK$Vn8vken`w zkY3G%t0~{CGSg_I4uvE#~9pub!%eM0hty}i1 zeEQT$b8oqKrGU^?rTd~#(1zBR2l677)CGU@__RD8oVm+1ZBV64P~D`e4iwO8r{+W5 zB&b;@&C!fYleyKp!9dp+VKLHm13A3t&U!xQ;ioGTyKtC->{O3&K~-x56KP0r#+NF4 zG^m4DjFMb}Tn?cO*cL-QH@CL7VQW2#&adunBM2UVg<%V)kv@=BI<1K%+bxxKadKfK zNh%JSHFe+4|!`%*P70cq*EH8O_VOuE#nJw{(t-GQj z7W!a$QWreqLgs-z+ceS~b5w7oUQ08{E)sU_wG`Xnn{C=@2pyVp!T6Y9nAKJ;Vu**? zl5UM5KFjTS2THv)MxBB(C?7P$IFQ5T;({et1JZr_pBL}GKYn%b?(praZv8B&GX4vf zej&E9X*rL|Tv_}+bo3ZAN1FbKDI{2SQI3W@QVIbWjGV55$<~=8#ZxjlHK;A>ebi7!LkgqN@I+B6f#&u@OvN2eJ zTxVRlDWUhBh}|@UeOl%mYE(xH^jWT=FCuc-beXOi{aYxSLFF zU8HGKzeDDR{=w4%WefX&7d~{6S(dX;SuE13PpXYlEiaq(YVu**d$;kA2IRKM6jI-E zGloLS9!;X&oKEB2U!+L7cE(!?dp+3-LU?_k=<$bNB^>Kl@9(X9eF#qr{l5!Iw;BEa zv)$dD{ullK@ASYCfJ^9XHihHLE;YQ!k*|VtGZg}-Ve6KRLb^|3U%<$YayEV1d^qNZ zK%KOLbT1F&sigi%gW5jxo?KH&GRS-bE?QOqM^5o9G+9LB>sk$>R$u*agsiqTO6H=m+nLjRRYM1oQUy$~) z>l;kh0IV65+OBrfj9>AXjrBFhUW?0A4~G*C&3@t%#b@fUmU#Li8m!Uq#lb%6-Q6k`tp zK3|m;8Zu=eXcS#!JrLtk6;9rG*et-O>b{cW^*ooYtc+RBjiH#!8VgnPTj$yoYtj_> zrfr49*Im-JS-Oq=lC6)&SzYe%kR~q2dSlM-ZoL`+gLUaUKY*$zM2v*6grg}|lcKwt zq+7#Ym{okKHr6uUW-55g1;(*_HM2t4P{pMIHb+<3gD@&~}CG{eZ_d@qB zRAli6s0Fs4_aqO(_#NosQkGSg<(+rf>J)V_;SyT&`NR7+Uw3V?hOeBib+FUl-S2N} z24%Zj3$uPnlmNQKUoGGjwf^=AXIV^oy^uo0-n-ZqknUF>-oL3f3iI)+|3P}}SJH2s zM1-(#BFI}2F_)YaVmNtuV{0nK3F*nZq1$Hm0A4p-c>yTxGvcd|7dm$&W^n|!wGmGu zKUZtDYtZUWXGxolEv|ot*AI_dq-_xkCsPrT=g*!kr9Vrq2AxWes_V;gIBrc9S_IAF z>r6}s6n!Qsm7l_<20_Pr^|%z88;S}|Lpbo$qJ_~S zC{2~`yY1KVLudx^eG<?g>M?4v`49=jQN~aHv*UggwbjerM zFeYVQxJ_32mK?HWYfEgamr5RA^ui^K?IZGC+q}p7s+a3!15PrU+Ly z2>g+lrZdGdNX#Kc%mPd_WOEtAI5Fa!mQs_@Sl0zBP`JWFPAv2M1{IQPFTzXW&PT195d!6@rK)yOZeOo>KovZ22~VIfSf-xJ|V> z64@mt1x6oQ9D~^9eSuW>R{RnW(13Zxd7=byx#u9mYl!LnY??dFK#Yy+Pwa+;GsOt6 za57;^dbG{7Lpr9Vi%Ns_{;CVIIt$B-r?_hGvTnSIu==w3t>}7Ht3)fgci8T+M9wl+ z)}5_Kj#Qgyb`9dBr8#i#Dpk^S-2N-s3CJ5EE+NpVoKIt(TuPD(o`5Sk#UysunMlS2 z!^7!QHe*w91>wA=0oe`6TYAaz+OP~FkvvxVav@bf_8?JS!mhonK7JdpF1SSRbp*3z z8xe72-vtCBgXMi_BN+=J4*FLWNA=p9jP>xZQ_NN>y!ra0K8iGE=&$$bQ~8|#iF9wi zdebF;`I>ZZDrgv2;x74_{I~x`vMK3}ET9UUzmVP=`w`3IjkF191E9w1(oY6{J+LBz zwPngIMENqCCsVB)V}>aWWoQk zc%##-E*e*loV7!pZscjh#y65P#+)fjL>S01m zk5*W>m;j$|fALkEMTKK&L#Y}6QX1p7_5fjxPP3Pr5BZU5YnT59?=S1x(%S7~uuGAj zy4LD_i*&a|s!U`I{nF$u%nk4hyWGYEO(n5tK0K#~=iinlHV8il1TN7V$`q|_CKXwACv>ahbh%?$h4nJxTPXOC%5?Z= z@+E6a)P;Uxb;M0=TG@p|+xD!(mA~MusM`-#7mBU(@cXTGNUX(pto6Vw(jm`(x^R#R z&aN%uI5qVL1L?FMl?Dr=MIo6QD6=#y6UJq$Rkk!MetpuHBQ>?9YBRA{*V&N!$*Go% z#^yxQ4Rp9Gx7!fEY=u=&Y*~rRisqrb1^5bYC@-5%m4{)9M%wE_muf@rHo6VGHE<9= zc&9?m(yn2#E7cb87!4>D5|0+oqKQ)J|75DnI+@rHx?=eY9G^}6MG5yp!wc{(CIejs zLvWP84~oU67vk9VQoQ^oyl953a{Ve*Xnp^xaJPCVb~z_pG5_totdcA3(a}g>9p|1y zgL$*wc9e)&RyJezUf!!U`z9`7Th;06ShG|ba zi*Q|WL~K@i7fY)FovK+@B?o@jj&64uKJ}M{&onu@wLO^B1|40)w75reo0|~z1F-sB zXn((1c(=L7)un#Yvt$Q*Vh6>T4+HFV&-ukKc2itP{&g9yExZ7=oezsI z0BI(E0jtX*-D)|XUdb=$T*Io$;8G)et9q(A)NfLb=dnq$J|Hi4`&C<5I*T}i^izJ4 zy@hLMg@Y|^txssPuH#`tWS&hKdFeOCf()T0st+J|I^>? z@9&o4|LpAS?|q5?^En=~1FVuxwVk@hOOo28`SAm?U=r1)a1-@8YF$jBuTl}c^MO2R z5%~ey_aj!ANzRjT5Q>Zm8H8e*hp;$xIMm0mXm=Yg#;5SQUX1v7??@EC)#X5LH@+4w z=)<2@Rb}_dmy59L6v_q67X`O&*@RcUIdWa0wa*fZLnF#m#zXlkiNLDSfbAJEq)`_B zRt!jlbEG)Wi}R@{cPnLRyK=K(9k0^1LDc}GZIVAhQF{- z8G0c?X9b}QbbB%ERuNn75vx|y(pYCzC)OQ1PTb^JK;nPKBd*2%FT=1`j=H;28_V|p z{k`)3zw=^$_sjnOIUY~kUt;B5YVC&PF#fJ(%}Vo1X2-HyOu?S?NF-8aRP(-T*#C{W z#d{&tYaTN>mx@h|@kMU;+_4hK_xjagGVe(Ch9|Qd&l0v=V3wx(s*xxfn{%aFXeNzO za?e*27$k}j9tQs^2hHIP{oU|sQ#i-Eo%g9v4Nt|~%as}(8wdZCstNqzX~^@pH$90yA}N64>KRq%|Nr zzy0>j273R0COMOt{9oui_ zEqKU#Wjna90Iec*DiLOlDHDEQ5liFx4<;<0@^KfDM@K~NykhEoktiA#U#~~L{3;76U{H8n3N~uEs`;P zI$tqRWP0yu5_KMtgpDy8{gV`ugR=_8ZJeYNXjx2^MnPR;P~tUlHPY7 zks~pkiiG@dbVeec$xbllY8(EG=y!tQKeBE3uYEBYZ|ncqKjl@jodX)u@N$-tk!Bt{ ze+}ey+WBiRq?et)25PE*i;RyufBkR*n zg8t7>Y%D)M9S3s4SsZ~hYDl9o+ct%JP`1Yt%;m#HLgW7-)jVcjk7BBN^4A&7*i-VC zpU#2FrfC`*(}g7s=<+?Uc$+qIXUzfG30?%dOWMfG_n`RFHaeX{@-2&}1eOi#n~793 zjxq8RL~lV3qtp58U%wSomeMgB{PnNo-z*|yt|qe~C>YV0a9ba@JzR&q3C$vwuxMLl zjBQUTPYNsa-#eX0kH}knfkr#-PUn^w=hs(L%42d%K4dYu?c9=Huh%2^kNpAfr!))2 zD5Hs#EFrh#-{3`H-~4T?;b{E+U4OJ_7itAb{O4ymo70I9wkasdqU+%-ywruv&munL7ASBAl3j8n zBG&1wk+}c%mtK#YPxLvI(J6y?V3LJ!Y;j4(EMXZ{EFv?h&qn|riBJY|0s&9t#6?sb zGQuLR%MRycLX#*Uy&jI=sROS6d_*vfN$R~dgSz^2OOBZgGoAvnl0O7OYTQpkD_^Wg;gkuQxRrn zilG_)NY5?#crtn?)M>`#y=iGc<`h+Qyb{D)^8FRdG9EGMEptW3(i0~yuW&=QStq5-Rxg{Te`gsEsP3V-_ z`PLr1VY`H>xK^}2*R!cP>Lji!krgS5wq}1+vTll^R;{_(JiR5aO}#%XK{rOxS{=sH zc5ca8%0fQkOp@yfQxldETDIY_SGyr22sTC9WK z`sO)`g1kep<#RdS*NXUho=wfsVphNQ_xgH@rXu>ou%sKLD7pr$cxN*C2LG7EglB^k zEg6@!Y2=oiipUwQ5tG<>t=Mh++1$yrGC7fZ`a@HbY>=YP1bxL-|K8Li8T)m{q>`Xq zi20POKgiV-I30s1X@!=(aV)Qg++$9gs;d$RGV zRs(J3s0(-XM|?IlN3F{Si;h{$##FW1QE$m1iR~<%Fp@(dkp-h!{nxKwk&|N?kTb@J zZ6G2i5lfUFiNn(q5Ux%|#)xMj@Hy^Uo0_As7{6gxEM9ev>RV_m#w6C2x5yQZd4vI% zC7~H3-G~im5S&^QO8ZJCm)}#u|F$5x8x(cq0=;GJ%jPRiHj#w zHk0ZYySEB9nxasbAZ_%uX~@V-vIy3(x#8<&&tZ*^ILjW?;gwS~5ZP*KwnmVSqArwI z`+NP#h)AZkh!`rMClD9IUZJ9Xmc?KR#b~7Gu{Vbwi1=hvvL}zCui;#1sTDaH855%7 zkZh6b2~`A-7^@1MWpO}`CW41{lZ8yqu%n{N{P);W^%a~=*GkedMQup8R%iXvIZDCK z*XDbi2&w!j>oP?CeiL?6a}8JQPo^nP_;fZU6hg1Usn4g3L`;G!z7k}d(U6U1ag26@v6V+-Vo@S8 zBbkoGb)xH5OFs=M^`k0sG(?um;pJ%txY8H z9F+DGnv5~es^{P|7qg6r>x3js>N~$P>&FzJI9i0pe7xq{{-!8eN&C~19~C}Dfj5G* zHtx=Za7m~EYr;Le=azhY`SM_Q?f3dw8d1g0R7MpW&mm4|YkfV|CDK$jI(q$2#xP5& zOJ{ma*;FKFOreGkJmV5}4SxmX2$KcB7jev!@dpGeGV*Y}EEKzj)dz(kxl8-y< zUGzqp=O@pAOnaQh$1J9E6DGN~(OYtYB}t@<5{YGDy{C}k;^9AFLXe-yIKZ!rnVSG*Jt69@5 z23bqdR<2Ed5`QKL^rZeKCv7^qlTJ-(%6v{>$Os!H}`%I|uB5 zjrLyb?e=N^#X(5vkoI4^+zk&#(TnFJ`ts$+3Po2ifwFe^a~HakB#cFpPzmustdn;! z!f_-*xgClmWT}E5CM(&@t;d9C~>+>FteCbR!lJmu&tPI+F!cHWk_2hE`v4 zGQEOQFaxn38B%?x|BlUx0k~FV*Z*wFv!Re{S|gI1 zdp-+A^og`gGQE-p0cOJ1`j3c5ZT$*?! zP|On0Kt+5sVi`m-_GGHk>Q1Ew4?;qWc|k!0 z(#x09`LXx`3h!q@~C`fkadZuqk5+5eX>E`dfsOj3$woq9GKy=5cHd zP9Baw&Mo=4<}1_kIT~HDOmWGg(=u&~6jjXJm5e4t2@+CGL>gWKozIv;Nj^^B%otD5 z1a}Mw+wE)ir5zd=3y`_m<|I>!C*w5?%x9r!B@0+ni-mm@bH0)D)3*@VoKOQ!&(*yw zA}P((oTL!El?>D*XJ?uC9v`cM;04A*|TD|K3N$&L7}D_N zvjfHso`=Ke#X%HBY&Y8L@9ZAXorArD;j{kU=*4ijyVLJSdk4|Wo#%9Se|PuUvkF<3 zQ#5Tbeng6nc+9}~!R(+;xKX0*!+dVZ$8DOX+bW%2*gf;&enFoWQgk-_mdZ&J7j;XH zxlCg^C+TcBp>m>$8jJCRG7Dewe3pBCm7)#o(--ck9^?uXEwN93cJ67+6#j`Tu(c6r zYl>Fbr!U-7J;>G+t*}pDxTkuMnxfTg&a;Hyw7u6OJwGJ;hFC!ETE8|tH}q`kUSFRd zdzlcwNKwyM=?_HLO`Y{EGo@GVOg~Pjf}Cxd_wPBNL~L4fbR1O^mXMK?2r5Bn%F!L-=rABZfETJr(FvVqjQpg*Z~0L2@>@h+ z^7Q8#it6{j2SqD6+&_|A0=e9;CoE%@Xar0~CE-evkYx%1Jlt@Pn!~@M*>=o_+olWK z=_S7pg;%Diz9XSa?k#!EV`DAeimV_)9>z4e+#*~#sXk2Hh$+aS^_j){o3a|Or)b2b z-X>jEEgN@3I_~L=q4++VF~Y4!<3z;KVIH^tL!x+mnu(kFnWCAJ`eJn=6&Gvm#$BJ! zdos-=d&jOFLEngw7UGzI7o(=;7Gd5Im9T5?avx(YLgTT>xSC9f(wpyuy7Vky(idVH zGjg>XkYiM(NjF#~#{Vno0dk0&DmrwvlhkMw|k z5K18JJxPl!(iW!D8ar;fzo9uQqvgC(9X6JGdX-#>IXOE%BL%CQ^&zW@IF^P|Hx-$Ff#9>y^eRW7CK>J$ZT9iiKt zrh2y>u?SPBJpJsXy(J$H-?WZ;(GH}eDDp}eRzxr3oK%fACC6CD-$!Rsp&5xK^TU2N zwT~(mvnf;AJV-M!Wop7^Esm;N@;att^xi}VF;|&PMZ%TH9;WM}_k320F7*#J-r&YV z#L<$ejE4{Q+F5$gFZ5vT{AdG3qqjKI8m6nW(#cDf$@}1+&pbyRMV;$>$&$=@gX6Wn zl$0$8u%+*)i2xI@qG1@AE#{v26t7)g9-8&_w7&bBicYkIqH%3VVvLa+yU4>M9xGOv zrVo2Z-IyId%8ZUglCV&HGyhh|1}oemHtrT0Vogm~D}OS9p!7vwL=dnAVS)e(R@#=H zsS<9VvHl8QW(mY;iOP3-k&y3GmYhKXe|?|DTd7bJmR<8Zhlt-;3dci z1;j@DLhC8I%sKRnUud&mXqlqzoI}6(h1P?Fcu!W*xl$_DFDFwy$XbfFO2zu;JDH|D z=_w)NORjnl)cY=EuA^wnRIGoJlW8Nic_oUrOvU=AJedxjzkC_(yy(9Ocb<=SS%07H z?e0W7FJJbbJ>TCAcb@lO_J{iiJ1?W>`!DFr9X5*k`#aIIy%(dM;fpBxSfc1kDO2#0;_vVUg>&-C09HX$&@9ET+xgh^AfzU zM-j`D-+{|Fh8WJRPJY*CQ&}*8qCbdu)VufXQ1d? zO^|kEEm9Oo>Bn?_(4;iaMk(s-o7zrOh>Xqk)<)6f+OfW zW#l^t0LF1%SyyDTB64^37zmcM6Kb#x` zfCo;_&qmR*#dEWssez(DmH<3p!fuM9g#b3Kjh%1FVH}I=l3lYH72@HL5u<9BJyidj zOCl*CwRkdQjxF(0zMCEcqvAs^`U>? z=azijU!#tR)Kb(;s@E|cFVl)xeSO5PSS(VO*%?Vjy7pQT-ORJG46G2(ZdJfGL|Kg+4M!vR1dO=qRW*{e-b^@2CW?>I4FPPyuFuW z1K!{wA=eWgPB5D_98AV0k4rM85hHnW95|k6H04PE;?(bxZz1EQ+_(d1V;?Hkj@yPB zccpWIqS)8AEPf$cCR8<~bmu$xFu?~9FA-w|S)U*LcM0>lF)zjfMZMXxgdc67sL_vH zamk0p{HqTqIIej%MbT96Y*Mi#WNj0O5f@bhuJU4Jl_Q>uoe#DY1cOaeH9zJVd6F@V zW&&eV2nH*k>PbB@Np{JTL?l^nVevb3pM12atc$1>icVUm3Dy+V`=_-P*M#)*0mG(Q z9xU>8PNN6#_)#@*FTFgF+xH5bciZ`wFV8>SgOdliFY9lBqL}R?{Vtf(X?)){`u%?Y z`Lk#6Z@=F!|GTrh_v~MGp1s(4{_Mr>{%-$Y`a92e_xAsV^w-nH#m`JCn*B@v-ffjT z_Xl}s$_>XoAXmGcoB3BO9V`0i| z>vG$nh(%_mvVPHn7eShgJC|&JEwV@sIz56=@Q0i9?$1ypDid+cvK|^^WgU%{(e zY)W}NAXA!!A{b>fk&-2U8|$~an;imvGp2z3-XUa`#d%i>AA=;$;eN-icoMu8H-Af$ zBo4;n%0avwiJP6Bot?b!Xg+0Ak^F5=CqfijA5ku8+=I_~c@|v{XW?ZHw&qI*|0`KGG5FJpT!;^6RT46ZZr_PO2SzeW6pzU@q-r5FA?yY` zQ{o(4$H!+tb~+xaMJae&QFjdhC(KG6UpgAQ?c4aj&B zW&s!Q&h}tn&f3EE(jg>AdO&=^Wrt`q2Bh2d=?q~dkJ*SPMNWf6ERDq+EL!!6;tYbN zqKb`Xv1DpHFH;QF<(2Wm0+<9SR*zQBfYQ;Z4E(x2o_6+NphTeQKnZG*z zr}AKj*}KMyD3eR(HcpPSlJ692m0`Nb4h66n>!E;Dp->shXcotXPQ5lSav0?zWe|E~ zc*qXJ5S*Zm$sqa=aJ@TCn3}LmZ);eRP%KL1M9ktyPj0LfHAAIIA{1J^lb^)!7Z$3Y z$)WdB2|^=h?p@{+genl9z((4Dkb2ltBYob|a~Bd9NHS&##)As< zzEW&bZ!lPM0QEYAc%6fj#d5DjI;SE!Y)^$$M6y$?lAl@*;2VsG;b6US@i9tZ@IwuR zGZxOk1;K>Qa-dEz8}kg^9`I|YTETSq5i#jC2V}S3?-%D+LknkR=&}KHNK-oGF;`sk z`}z$bQ6^IRyGIV+yn){tqtW+CJby2Qdd*`d=Tfn$8>mP6ls=U2M4}6nUw@E#6WS@E zU-8jcofo*Sub?lEDuUArP0*C~Wu$^$FG5sPJQiJCfhT+~?7 zTUmM>@%D8T&!l46$*De%MWzPi*|WWx71jyufdz9Q->B{DRdK^3+#HhbG^}gc=L*eE zpEvN{dR%4f*BO%v%`IX+b}d6i6Ft0=NzF+C6N+~(y%LB>e8(Ka)y7<@ z*sKD zCgJ;3H;}N9NlCLgawQp?iYw$S!dVv2$uNU>$#kSxMjq#+ejFH-aXjpn5vDWPsix*{ z%tJdMyZg`Ia)X8*w07maNud|IL~h^e{mK#Gydn)1r#yL&EIv|pI&*grWOrJCpf@=P zdUF>Lie_V`j!r*(P(0@UfJJc1vQV>~V@A&5GdVi_KxTOXjKrccJ|447mRjj}e`?Aa z0$I+F5U=C5$1EblIXM?u@(aCu+VLAH?~wR5s*NC_+cZ9A zF`b{WP$ZEgC-{y;`lV)5;B9-D`VI#C5Y#(`zwQ7=@hKBCW#OFTpZYSj2v(=?LNBH= z)dpm@Lr6`>2V`eopRYdp1M(c!Rsoj**(;uRG~#z9X|ZxM)TKnN0O}Oq44OJ!)93vH zqgPh3-d)k1UWMd|JJDJ6bjxXLw>&MlVp2h{?Q*FrQJKw!kHw|WBr zKqdm#6l_9U^@nDRyk|7}G2@DTpMbvn1&D8i+ntH25M#l`eUDIoP zV|eYA`t20t_tUTIDdv67nbq_v><}210onPVnrp}@Jt&eym-D(dAjvF_JH)ktTzy0p z1!oi8hWs_w|M=Xk`yR+&n4|**x z?1%gfe*QTi?}WbN(rbx}pa@bb9>)bi6d>y(H866}y;j|TtChaHVO)C{6=?S_Uz4r@ z)Gf5}E>{XIYyn2O6=Yo!hGG#oxG9~CNS{10y!q2S7l*s&DM9w1?d{@JH8cj!b#Jf# z9Nq$*0}rv`oG6raT1p3i2wsHx3z5?NebSnOwsafnrBupmkwxtw+tN#^Xtx&2RkVU` zDk1l<2zn-jIy!{Ke`=P!zVVZzLo4xo@^*gqf4?zXuLhM@S&Dn8*&B$=QD^~Q`{`P$ ztrV-aZ0S2TFEo^9{7OT=WOK}_(Yj#+3AY>5@Q+}W>FF8F6&CORCh9DRQv=MI3cs!J zPjh>b%l5e-W-W1ocH#-8H7MNXnu$;>?QT`ZvM)y)@zMm*^(A=ig&B*afnT|8tk7tK zoDo_y@(hIMB!4S`*CVN+>woKj8zl&)@;54w0zkL$OuLtCUKr$BB&PJ{`;;X|B1t4P zKQ$M{WHudQ##WKCghWFdAr|f*8l+#Xjfkb;-hgkc~C8_xO)teqe*OXAJJN zToT4n%5OOUBJhu#LBMSiK;?7GN?eyMVq4BFUq4Ng-aMU`6Lm02L^FeBK1g?2%&zhF ztU!qwXaW1P^94oDpaq7jF$wi-LK{M?#4*(H3@zHY6Z=qPAY4no!vWZI1h!c}YdQ@Z zmeA@Lv_2XuhvVvPt^J(zPD)RT7EO6_ax4jEP9gfInozZ6?uuv^fa>m$#xcwO&;R;= zWuEtFi;Odned`M>7BJ2SnsehZ8|x)(TY<^wOJF0e-iYxlGq9CZVNk#(3hR`L+rjjN zO=A3pU9lMG7K<^7^2T}-hIwlK~W-kg#z5IQXMkOy%r&PcmzDlB0@I;k` zDjxJ=K~E)${RY|s-OU}c(5yX;4^U&-t_d1N8IzJ6ntzuyVag9kw;#a&%Gbx{rZP6l zn4Eme6Gh-ZmbY-pugn1@iAcyqToW-;3?`SU>KP0L`X+sT{)S8eS4Q@F`!~4TdVwiG zH;J@^v67m-OJ~EFhkDz^Z6_8q!U%O$L_qspzVT*8AFHcmY$}v9LNW}g>*s)U_oqfK zk%z*L4bu4i7X3F3a_K9QPuki8i+mH7pI8}9Czm}{w2EZ_rQBlqAT0+1JZLyGCRuqUJKLD)YMI9dJBd~| z_Yxuv%*tsdt~ApG+laVMDwMh6RQH)kHIEA$Is$5U2Uv^?@(p;17zH(s8GbjHB?B}s zoZoyj&L)1AC^929URAdjW&UgorFc#L&Xi255Q1lzf$h**sMN`DU(5E1rzE zzz~6sGscXW2hYek%cc;F=**b4{xzRAyf|81A7IHO^E7L>7u$4Q7bRNzG z%zSaKnNmfnXk`04uov(|-;>?F7pQ|(j4e&x<({cmn0>fN5J>fd`{Y?!C1al4n3CSO zt+>Se5swl8E%Vf1a9-NCMkN&%vaN#AN-0&cy=9tN4%R;>h`&S5LiH}Xcfc42=RF$* zn0(ln_UKa^(?j`}W{mT-<*a=)o>&d+a}@;kS_dv*dHtQq>hH~=j6txQkOet~Ibv)r zk-(zf8JR(~bzlUSk9Xb;q_Bhfd9ipY$D4m`8P0eNyBsef=GyTm?ig(?3wssXftR}F z+oG11Ky8ohN^9V>&1V?X5^q{_FfD8$bOx1X_8J{8(4+=_STKQH4&J%Ufr2zY<2|Lm z?M+@*PnXATep?$sNOx}R&wPtOurSUdo{ZzUpP8S|l)!BKnz`Z<+|{S4GD2m@dbULp zQGn%g`A3m1XOBLS0IEM3TzjxFZGm83PWVV|S#aI%&w&+9dp&PQt)=FY_F`#C=1F#{ z=Fhmb7K5S|hP}AImW!%b_JDyPUCmTDp&(XrI2S7oX?V$!sF!9!iBRZ+{M+;M)3dzx z$w)Jv5Xlv$#MfWrd3b^TAcI!TNE!E1Dy5oaVm6*Q6ql12WX}-q#LaMzpvF3#JPsb~ zJwO-UDhL`l8q-aw;vra!(liBIiokg27(+4rdloZqKFyTK4cf_Tk&!6~15HR;G_9UP zIzMPv{`50ACoviYzFOS(m+9plY}0oYOT$)M?piOyi4l+LT~+4mC*LBi?W-y90pz=y z;{#e=QFG;U(CbuQ4I`0@j$uerswT#hq%gq&E3nwvDv=ep>mikRd3EL_4l8KI9l(!> z=1hQ)4Rj2A5s+g}0I@;GV^(_bZa}vEmsk+j`)S5T{HEQgI4W2V8xucT?|$cR&XDrn z{tpXA_t&4cE71q6m)&%@qM3AqSS41u=PQw}alK#Ln?Dru?{*FFdn%TlPDsyYFeyql z=k|2~Mv2*+9GQR1PK)H|utSI`H6VxYPY)X)iEK<0Yf<~X|3^Jczx;r_LTWT(Ih~3G z4&Ed9iL6T#vbJzZL>Xo*!kCyxVwwtxx6fI^f1R0ywNV7c^toar6<$jk7wk&w`XOoF+rV6KDMtt zx!j`GDwWE*uS+)f1m2+cF`{wMenqITf&GAc7JtshFld&r6x#lQ#Y1S?D8}@Vvxm&CCR<;5s&)?ePFCi~PJqpGj*!<(0B7gu% zli-rg9Uo)@9&%|-?^(1(sN)FCXM5Oyy@nkrP z$JzJqG-0Mx<;r*T6|PZQFKUV1aFEI5IvuZ3dx@mE4^qx5QSuSn41SR!`G_+a*db+9 zq6_h@G+c8ts3MLgt>3Zv$+3^5HvJz z3@nT=`ebD7og$Ee@r+53OHi@qtP0Wme(iPj%9HtLS2F!qwg zBfCUuMA>Z-hdbTL$RdS%8eaZwPqut}1%ov=@{a08<^(r*JMG!#dm;5V9Ncji;|3>T zJ#J>;wh)0@(mLYLUndt`j+8G?BS+qEaHZ9kR1mWP{ZM}U- z3uN>((Tg$^S;k~4lE}z_z=5*4ace$t-f;Jop6-wxluBl`bF2-3BcyX5GwqPS`RunG=% zCcGCh)2%-F-fS*UEfW4Y=Z+9OHT;?@b(@~?vA&z1vuUc&!TOeAo56xanUcQiOdgNp zu_Q-_Mg0P;R@HS_67@_V5RY~eEX?uv{s1CVi&et7rh!bT``DI*`s2~zV`;fnqz?$@3%lGx3WYJZ)Nz^( zM>fz2^n7i^5<-=EP+;; zD6=$;89F+B1N$$Ar_Cv1oiof0)03l}zIxkZNhmZAT-=J#tk8?2LR~huShMkAJd5z& z>Y3i)c-G=$dQ`DYSk%Ef(}dMd2MvMPu!MIwB76+8Aq_1PXt6MVVqhW>GZgmdl7l9` zt!;CtTZ3Cyc>!lEW>lhzZYz)W!$*1yxg;stutY@66j%V8jTho501`RyRx_=N*LNny zl*6lw%DwJ=@c9n3gci~ru!1lzMYMDw8<;ZS;$HZfC^8k8D`A>jU_0TI)&Az6KyRjT zz~vOtKbXLTFW1R}qqD zk3`#CwhG#8S~UKVgu?mMv(iDs^5qMxUgWg26=xK9T(Aygm6LO)Pv(qf){w#08<2w+ z&-?v}mAs%epuYOHV!BJ%z*)aZO@@ zSFdZz6&d1tC^OYYC>Z^PJDSvAqd`zJ*qR- zuI+*WoEvMe+*C0d*P=%JC|Or}A6-82p;%cH@hz1T9*Qg_KLBTb|Jjbsz<)Kxz)Io6 z`!{y$$7bx9KViW**mCxX21TQA48?SC@a);%Ho7u9kgX131eKrqzMU50;JyXU*#SfO zxV$xn0mtI662-DK;XP8d@@HG;IEp&_z+m6rXPg>ARlb+8{;z8D5C%cHRwpDlZO_>+$mWW|1GAEQkE zvA)s<%&(6`-7eX5%~xVmHKFq#wZ~Li}lw1sF)ObHt?=n-W_vMrwZa^ zXr&iYh%DulO~$Pp@{<~%6m#X{pGTj&A+XePlxj0soe=0L4_jXwjuAx zQR0#%?bzfZ?octHvj{?Yfo}_F@!T7O{OQ@@IT*IWT9{H5POQx$BwaGaO99bJqjGq9 z;*J8;|GH+18ep!h?8sfzJ}P}=Dh>c)@Vq&%CGSNIQx zGAITX18+iI*0q6k2IR$Vzu)O3!sz)sFwIcdRAw@4p}>_W?-1bQ2m6Fka?Dcj{K{%A zX_mk)p62)q0-G0{)Zp5_MR>ui&`KVaC@Os&$l5dATDgC>lmL~IjUL+VX<=u4b(>z$ ztgW;Pv4}{V0Ej?$zgMSsYFJ7b>o|z1Tip!X;Ns%5diD)))Ga{B5v+t+=-Dy&uB=W| zdQTL;V{;EneF47@lBlOQBHS=jWlnJcYR=C#H_Rpx$M7H-_`$mp#$X-9vQFFWMDM<_ zroPd-Y7xY-2SIZ#U6M6QXeT(JDPNiyvj z?&l)1vKioF$hjMWEQt#BsHQOwx$-;{d>UGB4r64Un`WCpAMa6w9JqDY^WW$aiNHh` zF%ONl9VHJ&<{*vNzvl2X{&CD=_f3yT*(YLAN3ZqK3?5FgzP)fL zrQ&L4CC~-AduoGQInZtA(v8Zf#>AS^zXFk59R}s7MNe;=wWmIB z&w|W7HA(S69M+u2$7b^B2hW54(miIy`2HA*v2I0|1OIO{^#5jq|8F|{|ArC(6a)Hu zA^mqSq<=A}|IY3KBmpQV4ro_z$*gLh4uzCcr}$iVDJ4oVDM~RdN{hrOjj2&;lcOx_ zpqG)v3SZ!l#s$&_9H>MrxYVjf?hMX%crE+6+C(LG64|ZFOIK2tu%xJrsYxB;-&vQQ zdv{J{a+H(A>G8dUCbf7i-0wl;@9r>OB7g~#Ua-5Of?znWADc2XBt#GHokq0azrkoh z<_*Y@dMQzg!PlbUAoYU38sL054P!Bjyc`e} z?D=qt6&9Z-p-4iW-{>(&*U7Q89E~l(osmSPBwVJxJCMc1HBKeCTKnMo^D0ppXDx6j zlwKzuuWjHb?*g$LpZZ!$@N#Vre0hc=uea~j^}71G7716(Sl5o zP$4W322FbW+i!#?5xdE!ut_G^rD<9Uf}z{)l24z4rWqf|t1u{pcYM4ys@O1r@<)9$ zaRGomi!Gx9|M32e^w;*h98pF;1!%=^Nu=jo-npoKP5Ih-Wd&_^E>;IUe}f|1Xcp?O zVsXRa&@_$bXoZg6aL!fU$R4f8I%6T@SLo4r>^jkiL_-{@yLDBmn4Bb$)oUkYmZmK0 z4aH2~Zuyk;l<39WNL&BD-+xKK$KMa61ou886}H!8D~k^&Lb4>+rYaRT_-EY>|6i`v z`T3g_y6_)Ap5Lzr*y36{f$@m_KFsyTk6WJA(fg;j({v;l%NSGsLKzSdup5=JDI+1x zn5W6sMVli`-*I0Q*NL@=!%WG5hAf&ha!Dv;^|1Q^2u~&~mubU=#RF!-j^^0s-`3p) zI#c3Qq%*y`j^CYO2)M%;WNgK^Zj(1Wt+{+cEGY^@WYfDkTGzl_H{K%}$3q%kl0)2S zG~G3;ndqw&SbSs*$eIYF%7O{SlQBs|LR|F{ubOwlmMF7`W98}u;>1ALYy_OeBQ-Oy0QCZw2erV@B)PpqSnRR~Xb z9GM6+^8So>0o;1n@AXWWB4TKkH(@UFS~hd|dFu^jDut?RM&x(dI`Z(jq!jwRXS`x+ zL$|Kh&j!E`=t|av;YyRE0m#OXTWO;0AZ7a>EMc`sL!fLLRnk`<7H$`R`iuI&^A}l-n)MRa z5>@L8)snYCRC;GJ7o+o^`T_nQnRShy>?&zNWV;&uxS$OUet7>TkEgA91!KSLJFV>O z?mctWRb9G|P)s}ExfAmUf?)l~h7%z!ZIo=64rB4yEw1l&$77Rh4A^xrfS8LJ+Fx0p zH{<A#L&*8%u>ljHL@myN#VoP?_VA1??3o4Ipv! zQUgGJoAT6K`fgx3c?heT@lc@+gE=`KO9GY9K@kkzalTtep@>N^^UuYQr5GD=?0@SJ zQbNKki$}hM{t-z)NClgw%}b99<;>q3>^2&sU0}T9)qTxb9JxXx{a0<>5!M~~b-xkl zD6&$sEnDeWtJkCQ@W`TNXmhzH6Vcomee&X{?QOdMC$(B`vRhuAK((gK;b%2VUTm1W zdY9H=tNeMbmG3ZYn=@dpF=4(7e(SYrF4;BT<*ZnfHD;|n=1QonV#3#K#8tvnSu75$BLCnRUR=XIfYHYOZSyy(JsSR zooJ*AV^I#Th3={U>{+^Mb97b7bN94dwJcoQlw7S6a@{8#*PU~0RY~+mO{-OtRI8zf zn@pZnNu5{u>0R&8>uT0%dRd{}ulEXak` zn4?O?(stD4%c{+m6*MH6zsEga`qAi$Udtu;KS1OgS!(0Tyv4v^HWHIxVF56R(Nqr+ zLCH>~bS=0e8_y>Pc9<*L!~CoBxagGXmBI3atHn?uPkt@vV%;+2kbcMJ=hm#?=n$il z=)X}Wyj2eV4Y%t|(%x?W*})e4de(pWe2cKKm+tPHAA1MS$dkh#&+=3o#%omXeDBW= z1M=#KKwe-m&S*MuiZ>V1>1oHIHgN3~5I;YE0}10z5L0+DAiK{dUMaI<{e8dx^6ZL7 zeigI=zT%PWR7(v=9hm>PR%Iw)i0cE%%V4JUL`3XRDJBhndwC#F&koP4(SGt`fhkkw zZuL751M9-n6ke(&t%WQL{vwBQEUw>hsq&en-w$d%$G5m-iBpM-#5dRc>1Xl;wpRi*pKjGh5i5ib z(`W-$d04HVisx=Sq>;++M8rS^`yHF-i(9`%)*BPhgd&kVVi}8!N2yVNA|5r6T9Xdz zo{Ff7gu5@a$H9kVQ1Ai}EuH(NvaQwtrjxK*S#S6Xp_5jNg0%o8Pini4RYVF)dC^KJ zgv%Oucf~wF)z5eA${p4ZM-ydSMKmGaA|g+I`gyg5v~(%mp-XF9T}#&2ol(2@l3TRs zT4VKK{I;cg~yogOksfdkDLxkw@shNZX62eik42{NKQhEmjAM|G<> z!7NNi_fxW{3Th-5Y$Vk&-9h=ehRz$Qunax6h}IJlEh z1+}0DeMH-XQo!7367z-!q`%?_nP3~bvc%)ZNVHOT^Y34io&N4KYl(nZ>utrOdQLtc z*mBmgh>a4XnMpw=5;EeMRF?gRi{1=U4UT3padR~wM>KIU+Fev7KB{8#HOyWjvI4ot zzd`Q+N!`A~S*6oso|!bujU8~M>XuamUC+v1tMMJU%=*6?0o!#Mx9qhgszIYiuf3dq0?!VmK*^m0s{^(h_%l4j)X#eGK7(VYu zd(WfYc32_?kbOquIpQ&cecsFwCzB{*jG7-;bwIXhnr^FfdSR)1QELO(L@FvPT#H_- zM~CF})myz$9KU)GxLLR6eA@+CiAWL+$0(cYY!n(=p8Wsp{rh&?wzfD5uYW&11s3am zwR=MPnoD(d_TH|Nu6id;{EMCTw?}t}0+W!$nj#qjvZLBQ<2=oIu=6Bm;7R}lFOp>? zZN)WKW0Anb1TX zvs$A!R@hi6+d<1^KzQm6}j;5SD z<$whq<1im2*(^Ha=0$BJV-=@^nyR`rC#Q zpW}Lz1d#|mv!sb78(Rl?F!{9D@xggkq`$+<9^wC*`g!rPblO3AlFhNK#Dp{3LcO{J zw%=q#+5|*1o>rh)cQ4_uAZDozYS~DoCY*)hlbThVY3RYQvtXWQGj7rx6aFax zC&KCjCf9I|nV}!$krK$#O$n&Z_AYTTNiJ2t6K zNCgWb8d`>)`T~Jj9>~C>%xZcM%Tn+*N9oxl9x(=H>1eB>N4}uBUMv4B zjg>U1?YU&AW#CmKmST1Ej3AOSpN}IhV|^S(hn(03&Wf?CFgOv(h|0*4qOfdK0HcL@ z7|gu|z+-M1+zC3S;AIHOdf=TcL-ZCJBR?v_?PMRs;L9yZP=?l4J=i9bq2+=8P0fhv zN2C*d)DN|0Ip$<8s%||_izX+@HKF}ywdPUwJl1CEwRQL*je8vCJ#AzE(1t#ysgG&w zV-1~U?^Ch(aohZ~S^c!k#ft2INPbWIAKe1TVFScWl6^5i!U)JV1JVqEnnu>Si(mo^ zGRsek>;g$g?DI*1@FYtj=2bmoH%|G6DR9~$#c51pn7lvUIS)?t$O@YVh=cN1Os7J?i|@G#lp80jrj!SamX@D0iV|8q-)6TPL?VSQB#cZLIDqDcX0#B*@(7PC~i5K;)cidOVyYe#a1r3VZ%xKqRV z-h9tXGf-xY)*&;Ci$v}=c=`6-YXOeGaGSC>!dFHERtxGq6MI)o3Dgl)QVTaQ!{AVg zVwuQmo+I1`AL!=$;Su;i68wQ@1^6(ff6Ivf=Uk#Ks)?9gh@fK16x?brR;lSjJphFO z@(aC~eNa2}2g+k`V?80!jYax|(qM`QcVx#!i8K=)z(OXQbO2@@;CjBnaUl0>{=yI8 z2QE+U()6@b+i97majL_9R1QC3X(1S6@#FdVsSYzslX=~NDyX77*7R(bBA2apunJQX zChNOIb2boK{!-4WzCHt2s8E+~uq~B|>@%YQK>uJApdm^bfE}9|l7mYU?Bg;)s~r5+ z^;FK1em{*+60@*hdg2W*I946t)r@`w;H{Q%_JgDa+7soK`N8gNeIHx0&enCKl5SSz zm=&|dooPibJVp;z-$YY9$!vvo-CV|kF1?#fDu3rpDy0CV&G}k>;gYqQG%7u*hT|F@ zTMi|@2JjjOka1V9&|IjIjybFN3e9EgWUYil{H(*`e;>>8T<5`;SP7Ohb!N#@$54mr zILrf>=ZV-@1_feal3;?R2>rPH3bfC>3(lHCbj{Ke^i_8BSz6}ur4+=hK)AM)>pCeR z6(}XiT+8~)-39nHC{Bfr6oZQyQGe@zMUr5)o`T+2Kx8q);5tj0tc05+af6t2PFRfD zSsEdsgB4qxTt+;4#U#d$K+f%(6A{jppP&)CLP?gR0)xvmyQXytRtW=~fos(JipAo~ zi#RJ{692*6CUbgfaf|~l;J=J>y%*op-kzkVynnsgFLX|AH89`dLNytKY?^0SeYiw( znLCreFl^WPt4fYwRaE5kWh+55(`V8Sfm2{11O`0NikvKZQqY6%d#jkG^`4*t)izP> zU0o}KYRN?!Do3lXfmdaTMF8ugUI+S(US<*CmHDe{p;~aUK8XC;HPF>}7f=J#=cQxL z*7AIXbT?pza}eYOx}rxq<-2g4rH=s4rifmSF}Ox5u8jz3qxd#{HVTIrrfOlPdGz+c zttNwBILWS4D|Ib>wUT^*2B4*L0BTSc%loHQeArxn;kXDQbXCzlg%cR3;~6ZX-3y2( z6}8hb)6$g+Cl-^I{3kcP>Ob9wAw)-qk0Z1fJ%NW$4pFrK_`8e4XBP-P*?)$fq0!;f z!-GAz_w-o^;RW1#`rSeJY!p3xGJ@ZI*K>?U$vvJ~oR~N%Ag1&I8ZydUg!rboXLBP0DsBYK&B|=q{%+>7?u-AzQJPMM*zoZ$jc-U6H$j{-L-(Xj!a(6 zQuLD5dYeS3IG?~2{Fq&XEQy%!#TAq0z?8{_dGsxAXwB1>M!G;>^nwd3)CjqnpltJ` z9xE}$KO}Hmin(74J2=JuNJ?O8Z#v?7HE#PxBp0toHo$}{5RQ|W-G}T3xU5@zWY;N# z3BRdm)r7>GB#wXBty`Vqy&xI&0ei_=}n zjVArFqL?aGc=rgXVgp+=nu=Y29ide8Z76@BHd#~-Ap-uqsQ-Nv0uvI zZ9GOLOfGp^i3Zm=4L&;ybe9{`-KGz2dt3qZi9Xif%7w_T1vW>mHy}c(#N9^Cdy*>Ni!=r%VWAEN=*`527JSRLb4~hT_y~r;ABJ$$@ z`+xsGz23j%rCkXaWcWuE0Uo$jrATD#zchhCMZZ@@!vg3N3W1*jmh~)5W)U(&ag@=6 zJP?4pyZVBoS(5O4XtbQa2mH_oya0S3{12Dt=x;g4gD2T_uXl6fgLnkcN3b3I%v5lJ zZ3K7=NOnewI34eZXecbBf-zhceiDRV^%eN#_}!b6H~*r4 z(^pbupd>HshDb6d36)lJa7HHd5-4O)^oGR`hJrIeZ{D5*Jc|i8faP`LR5NWf1gew| zdYdM5W)MM7K7@%;;Ge9cD2*7}LcV60QGPGXDEn$m>;bW@q4)p{xab{_tWQTiFXEJp zfF~J$Ti^aQ_Q19^JxP4QP1OB}*{*mX*kRBa&IuMdAtk{sLaTXJ5Py^v*RW7FJ-hV; zB1)7r!q%QO4i1~SySqL&gwyD^rU_G3!Me%@%X5q;x3SyZWdR$RWk^?a%As2v8fx+N`aQvs776hE5YmF&IAu44L0FJ`VGh7@Q##c~@ogdXssKvGm#);Ki=Txr;r6dg zWohmY?S1rp3V{O;=%2pN3-LFr83wU`n9K6zyLWHj{S%y|VOB6-Lw;Z24&Op5?YZ|> zYv6iz8YezK`ONXrE+w2UbO_)Jk#?t-Q>5 z@=`DYP1U;QW6=;LuwdTO6z;RVX9s%6WE|KZRQg(4YR^?fCTcLhTg+t@-)1(G0|7dF zv~*T?4O~svo-;FS=cj$Wy0%dY zro}nq$$kKj-J3jde*&H&E>9;k56?!U_>)K3dQUDCPg^sdTq2&fT0CnVc$Jm0Q+CJb zn?^kyvbbnNvZX?k&{Zr1N)nVVaOnVEfpWlq;n)#6gx}Ud6-t1$|rU6VH?pI(I=bv3#atEPN$ zU==N=oQ-c4m^Ny5e?2oEjaL~U4fyj)^}wv%)_t|`TPL@Irm9-Su!QPBu>9DJTRdV6 z__m@hRnKeMzP%l-=mH!4J-2$GZguurUFz7mKQ@lx9FtB}x!E`HWO7GlJHv9xWT~Dy zLvHt63DmKdT9O&B4dZ*9Gx}zs4jcZm+leDL2L0HnECKEGu{Y@IA;d$>Xsg>Zmhw*R ziR-?3b!S0!4m2;aspR2;vfE{W34#fk$Rd>5v|<{eY^kWM6jC)Oi+-kx6&#euwk&3l zKne1BS=Is37@Vy#OO1tyeBFkLDAx&<3QQ9h+wjl8$o|-jmsQ%t&Ia`yOi?jLZ?8~s zUBm=6v|9G279Y_kUs%f45!lTQ2*e^`@&?<4kx53FkfthClx0N{8lN8LX+&3vSjTjw zdLVF&gWdTZa0^n(A*2KxaZI?H4&2<78JV=U*;mz2spyl;XmG4v0Z$aJXTP~N(Hke( z1x(6<{P&KA *L)8sof5OuvLg8_>%)`qks8FNRu<0i*G@cmMO_k6ef8?)?C+P))d zXuFF9AS$~>8KZb?5I``8(?rK_%UCTECV%Op^s3q_O0W8&Ag8>SZ;roz{c`xr%kO`D z`}UQz-)3SgK8E&%x4avITkvs~5oCx8#{_IAC@oj_4!?o&0{W__fc_g!lPYZ)7;8@4 zQZ{d+r25Xg!~}PuBWi=@q1nEZ9@Q*qhKNXiJ~(wxk5&2R#@M<=F=_11zx<&iniX^f zjDe>zK6t<@lQww3L-OEKqR6I%9X8=_Gv1B0z?PoJ8AfLM&V6n5CivM{fzeW3N0;R$ zvjFTg4wpI#t-+%2{cvh;Z`K?n@fAuD#+tJno!fsQ<>@3GKJ~HZ6r;~afnXGOf%mCtD}|{b;3mO=G!?55`IR1#+@N10vOCUHz#G6Lnv2j|WSX0j(Y%PSxPkxx-s!h# zGS^}NO8B*#jiZ%CHzok^?1I-_ys86dI?9aob!?}yKibCY=z+a0m!zmLHDA|YVeAae zr?yX~xqHSOEz2u$9WZ)RwibzwV`7Ib?sv(=%~H^*xK&dkn=h=FD=&Z8;(qp=pXzvWp2M zXf#VOA}xqs#%WX{DiTj^Phcs=q$R*Mi&W@oa6Ni8mJND4I}8S2nq0K-Uh|?UOEOdb zvOy+LDQg;S`dW{DSMLYRQ4~NmzN1-^%)!SQOn9zAnCCnjaqkzzN0yZ*bbRSFVsL>% zIKzmU;_H@fJnTn|l8AdmGG8+!a*o6pYzx1j7jMpJS*9@0QMeQIPDV!R0?C!=F0y(? zWR^ab`TSAj1-8voR$9_%(j{PDdDxIk2XbNQF;+@04C3PCA`tl;sQIwoYh*vTM0~`^Oh-gOz^Up>ZI7k znAc&1SWaBYifcSBU3J3KmGZZY&()pjdA^!9UN_`gJ->#*(|J$+x0LGNf&%3U?YQ@U zc)%Na3*W5<*>swvB9Uzin!FIlbApm-fG1pf(62X_7F`o|Vl{Ymr4fk0!YtE!B< zyB^GQD~+j`gudp=pjFXi=-LQWp>SzXvjmxC#s^UiU#1<4b+?m{B2zDu>Kr zLFhNFvvTk_Hg|WvhO#NDxVh;*6%5)Akl5M7*DT`bU;tpt0y=mHS({&ZKXJhCHo1-j zS}1xQ<5Hu&C9cUOH_(4xgKFi@qHlTjLBB|z${oX0mC3XE&v^z8^_m;bEdw2xHlRw> z;q^V;6d0(spNpWd;-^tYUz!bdwzc!H&n((1!yJGeaNEV|L^eSe&VONkmgu|0ubQfW zwI-6Gx!SZuIP!q`ZQ)&m>rMRW9Dhvwk26I1C`nOCb^gTcnLoEK(fkqE;*JseCbNZp zmhY5CSrk(xn0K6JH~2Mv&YY-bMZ(Zw(0BCT9O#aLrZ#PuNT`j%CPy_dhXqFG@f1Bb z467t+|G^OZJ&RM|{r@S7Y5bAZ+}T-lyz>l`ae?Tdi_`*N#;{YEs{Z{3Sho~NjJ-j& z3AFJ9o+!1%$rnKaS-J+HeJqDERK}yaQRY^DO<#H1-kI62OsB~*Rw(|MuwNGtBNh!% z#TzYIcy11i5m5+uvdWOl=DSrY{fCB_&7xNgKdSm3=pgm$QdWTNj$L89fVb1RJiNw3 zS;ulF>)ssDO-I^C&QU492G4=Fb@Sr;(_ik)Pi$h@$9He-&*d$xYvWu+BTb%E=asb; zOTpvS^qqg*+1aVw^#lRr!dfs+Neu{A;#RRnhlhJlwEBE|tUdKzJH5LZne1di+T1n{ zum2=rzD@s%c6PtUU*o#QW*8NWXQR{TF2W*;@Zo7DE3SlKeKQHNZbrC@U3W#$DCe|w zJ`{k)iDAJ0*QzE*wON@ZCj}STaAi}anl9&zt*@5SeEP(Awv;tzQVd&l#VonM$y0a1 zEl#Vp#4e|5FSyaU>+$Uj_}vYeZJ%!7bh`l%D8u70hP#*A4LVi*mKApOnr^4$1HJ< zWvyB!XAWVXh^5pbo zQZ`tOjldK1cU7Xj#m?U<^TNEO1f&oq;Vgj!MLzFFokPEr!|(gd*^eS1Z`Bsk?1Q2>TlEdVIX~a0!<7p&68a3H;YGSe6@}#7tCm z@n+3Sz~#!3K#YBJ)m8k-1I@K}r+iy_V5}htG?A+b?nzGZ)E{4S$2S*4NH1Y|dk7q1Ssn7Iknx+SUEg>Y= z*zORX@#6GvS)sypmmutT9jbmHYSTtKt4T^^vtkU>_z$)db;sDOwG`Sqh$V3knSqN~ zL){0PR(j*MN9#7;62Ky8V~N1sT~GXt`{kmyLxu>C2pf+W1gxJh%l~FY*CACi>(uPMGmMR z#hfMWGkvYg&2y{zxrTAbv&i!9<~OHNkxliT9e^#BGnRtdma(69RWYwTZ6vADBOVa{AhySLF2|9S7I694bu@xdnk^ID!#JQ%;TS>#pTt0kDnAuOwpSn0wYLZzx}wd1UG`-mOLzEn;h5R zcTDlS6-K~|^wM(2{cCO{UDm(wmRNTAx3B-BLwo%n?LFSC|8+b!($lfUSh4Cc6Rcz?^>Q4r&+qN=V;^#^emm8x6@ME&ckWfsLTJ^RIV$`hD4nnzo9s{ zF_F@DDLzKo*0Z&pJt95-^Y%BIUBzE>1=pB7`!|?8@_t^-@}s^{bo)` zhjR-qo*bbxtT7d7L#aANCR%4N2k%~gCfJ_N zFv|_i!sKi_vX?Mmyn?TM_B`|nPIJoe^Do}cj$57Fh6*Wz@peO{k^o4e5@f}AX*7Pn zCMP^&Qzs;Tza~D<@Kh$|!TsIcERI4yigB1-p<*7a0<)_2rxn8nJrzav_}%I83eYjM zI!oYWDwZf>FZpn-WT=?pChbJvE!w795);ltWS*l(V2fPQQ&CTGp=WunXb4!?Dpps< ztFn?nd%&wEfcAh_a#SAhbgw_nz)xAQu_8R8g|}l!@|nG&QjEV(FVpN=W|$XdLfn82 zMSbR8#Bi-kRA2`2Pp@FY;>`0gY0y2ek{)k$7)~Qw+hAf@mIE;cP^OxWc<`$Ls6hGk zv8&rqpwxwD({6Z(!cJtoCLF|YVKH7HfmM;)f;;Iu%^Cs`h`6~ zg#vJ8Y%4wM5GZ_$B)AOrK45<7dhQiHKv-!xLlP{^F{_zi8~{aNddHW22TJu#mP%SC zI$3MmAu5QSZDzF%r>MEK9(kW_qZ|zucORw^kHk-Zl$cB7$kMLTW%?`)QuGu%PI>+b z+W_hQ^+TMXhNL??3jt%L9MC`s&M^ck`G7VI*$7n71X%&9%>hUNWC^}qBjVJ7Q)b;a zjdOjlRoUfP=4*WkZI#`xeltWxGS6p44hy4coSwXpqF4HB7)LFFSF>9HT*PTK6n4{n z;OzzMf1dopqXv7=_MYw2cZ{{^y*A1h%=vTZuDflEC4-<5S662i&GVnTP-ndVzgFxt(T&ba%3#4To_`P;mv5uEWSX%JOIaf-VC3<7}RWCjyL)o-qM{ zWMfRdNp&YusHCQg=QeakEKbj}OO!Sj zqet>!0+R%#W7J%fFDfc<8V4J(v_=ur@?lD zQh|#ksykq>%!70J3=eY*N#njNYwAo_<+yis(qv>7IsUanu2mT#_52Q&F+@WVcyS1m zB)c9aF>Z>o*$|tKx5E8>Z3d0rD3J;kDSuT;ad1OAQbQKxl5UpRW@T?~)XiShpk&PA zT)skcJ;TZVQC$;x7A@4mX%=;9z_I@{ytFP|OOkLEZd2;p#zyqywGYM|U}cqAo$QjiR`}quXU9SNFB1-+W6SF z%8m_HhoXkI8~2v#QfnHXn(&ZxoXSO78G^c?lGeg4FW6OBFUo9?onckS!Pxhj`Y8*F zj#YZ3ZJ7qv6?CnF4wO1?vW@sUHr|#=>9SXMnvt%6>igch`*-NNej;@1dD9uPNXOgY zbUuIT@4fYmi(*X|mskKmD-Q{+?P8}Y7vO~uGnnCJkfQ*Gp@h(K&z6{oDS7ec>=Y7u zh8U-zq_-%=^vcJ+n>?aRN3p-x`4Y0ftu%)9A~pg#j7u~h#;T&=$}6-Z{bn!G+%HRe)rIOrr_Rct13p?(X$Q!% zVBPT4OIBTG^Ws2aUxpl$KJd0~oUR9VUdNW|tmFB^zYfbrjTS4`^PO6i9xo1e*B$!{ z`V?czK`K`_=}Dr`2(R9SIy7I^8cb`Kt7eR2ts`ZKW14IIcQykPc*WB92~!mG35G-% z^J?;cG! zBn0;q*ZCDWn&gKcMrzl+y#>agvb-C{LtEW$!Ikbz-7LAXOS%xVH;V?$l$UlLW~x9d zW_HPD%s8Xa6}wkx-ijav(HY0Ga0fY13x95&c9!)&<D3U|IC zEP+S;rGi_Zats*%yJQQb{F}L!R?KoN`$crc!@{{5WJuZ zM8>Qm)q-sX!wYlo*9xRjR!m_RWO%{*4SM6U0AL*EL*@~V`S-?&;Db||l6GyA*RxVm z*#o;UR9>$RYKK9#0d^Sf7O_N4zP#mR6K=bBDWY(HWwqbipE^pNY`aMPf+(9ChESSD zddAhVW4%i>_v$a#%)~~_lXbrqrotVXxezR!j^Wa>!s?7_2B}}j#8Ql8aMs2N<_7-d zN>iy6wczw2tPOZ=r&inn0f%UFp`slgw1O@`{^C`fMy{nQijR4u$g(_(yXUH4vYagm zA@vv*J3!+c>m_kavZ8ow<^p39V^smpBwJ>cwrl78$dL8%3n4&;OC#m+xftq({qEVS z%LO3~hAKlUAeSmD6>rnjSY2nuB{O!0c|61!X9t{H2urRgA`h^?16q7hX?u0Xt{9bm z88gOkX`C@uf=w77R`&Ziiku?a{4yR+nehhqZ-D&1@iU1%^StL_5#FueC zyh24h61RB1*yQ6Tp+*Z5>;aB_aQ&Lp< zZi|ooj7)w)WRgXO51d|*6X4}DOv~137`h4VYTK1G=lZ7akk9ZC&d5ZUUCDPT1(gY0(NP1h@#*0B3)#6?cCiqyK)eSI1rWjgBFC>xDUgr zPdnD{OBlOnvx}^V;uI1zI38%|oHSaWXwSjWk+iu;x34#fk2ul~b+L9O(l%k?^45q7p z5l3nEE{U(oJ01N&Uls^P^YWCYzr3Cv3Q*($p(DyO5adNRMP!0zMotlx=0=tb%5oK% zqKJ$xTn3Cl`~?cL=@g|A6ba^P(w3AkTB_^l(qXG+ExWtxDXi&m``}d7k(-^*63&@p zEOtgV$lrbU?3wMGZv{=rNJ9+&hYG2@WGH3FdG#O>R%M^GJcDJ(W@jLu0&($?57Wq> z!)bEBbmuakk94K0xuhDA5rQ4y(d!QT>u(YBS${glf2$^?;a)6pgxiC{HOGJ3-+NMt z|MvLc;Aj*7Z5_`|C3=WswzKR_>AVtNbKZBC~E14!_zRPfNE{uHpm7F5JDl zEc=JnUq@%cNt{Gt$?zm)Q%J%IvjS&0hS@aFQbc(oUdl>+RDv?Yzxg7=U*Q5;@ccxa z(=n12v8`2n_O0u%EA5eqVGRnkC=-NatyR^;$=EHNBhd4 zLB3HbpiHKtgywPY7#?KJoj}OuSj@_EOwhEc@+}(>7*gJPmc}1}8CC8Q%^%TwaWX?j zP`OIBEJ5lq{U~(Yrzb!B@KVI?xzXdZVGb25u%ZEXcr;#Kh8q(d(O3izc+Ahk;O#t- zbelyC@_-kmER~nM%h9q?cAawO*#n*kNrCV$F`0NQ5aapzYkfG+)cW;Uei-$ONA);) zAz{U1r*=d%u6oN0_oG}`qXuu@7fZ?SFyh)srO2jlfURs&vH!tWm zN9NUNX_shT9|R6rY5vehux%LMRA;(be4tGrGlSG)-0@jfle8m(W%2ioR#|55A0o4G zva1B2Xnqz{38^X4A*0CTgAs|J-u3sqvk3a#h z9|5EJM|IohqjJmotr`lkGP!K9Dg?}JCQ&}f^10YM97N9e-yJcaJJk^t5hum)S;OFN zbczaTu4aA{yf)kQUw+Ez?UOHTHc{14u7Wtvj-$wtbD}E?A~4{zBs!*Vq}m3*<4oEm z5G%7%ReR~`pUe+gDIM5_>pI;!|Jr8dn0aF>YnpQ#j+jjSt$j!8%n-RoU!0yogCq}A zWAGVCi>?)9{#61~c~uNx0@BQQ6sG~K5mEuK=SJG!_VN%xj8um$hagP;J-KkA6*9w~817q``yp;X+-p$mqoxFJM z=X*CyhzN0}f-^2aHJst*-{{{FNk7~RvRla}Si9qMY4JM)g|Mb?0w@*=AbX0-yXPj!ht zqz1@Nx&ClEp_{5_+%lq#Ej?$6JJYk3q(n*`Yj!@i?KSAA9P^=cQvBM)d!rfzaF6n|o3LQf|1SGU44SAYEk0`D4KOtS3qrLD%Tj`bBx z;t0|-@+Gnw z`B(kA%7sulXDam1Z44|TPCHO<>z{4PCpC6*8uKEX%7Zv4`z}9oD-l_M&9kbpZyzpg zQWl#Q`PyF10mN-`1Whe{8rf11cRi_CsGKlUM2a|M^)KQyI+ivw!knW|311E0-JP(( zp~b~G7uf~+zOJS=7k78P1i=UuFX?qnL}1t6DBGO^;cQlfNC{^&=YX#uNEQA)FpORO=%2N`ClM)u&jICDRZKY_DEO?K~Y^0_t#O)Z)uOXfK`!F0c+T$EP>`|hside4Pe&KjCDKx@<}D$F-EK8=z} z`P2Db%m3Cj=ZBoAc${X1PMO9eRlYV&kX=}xoC+X)V(MDaCWVU?Tm|iS3#=nHI{ZF# z#(XnQh2bBW=B5xJFXAgm&@Rkl;g_)jQL>T_-QD%BAqgh~`Y}d%M)IAw+OaA}E zgT1Gg{P*zj(ZNRkyN<^#|GmE%S>1wPze$;yH0hM*Osc$p|L(PCyy+H3ruZGjOV_o(t5U)PQX{OBEOSZ>(0n7^@W> zUFUk@MV+7SJwBC%>T2x$yVnbA()DcUT%&JYkCz0-H@^x<{<;P5=hbd+p0;O6{)AnF zb0ki%j+2X%i*4H%+qP}nwv&r(`(o>2+jcItvu}Uz{Q<9PYioCEcdB-Frl-5VufI+R z+x<5I+IkzHfQV=Z$S?l-`a%G-#alqas(-oCF&JXOyx8Yau($h$zx|??AM?-(Rxeh* z?GW6S5FY6*Q7_CO*Y!RD&lshHN4yR(;7d4lO$Bp$mS68NynBL0$Gn`xLb*Y?rAiP7 znB9}VOK1{FB7fPWNgUMc`o}5;!x$ITjQo{-ElL+T8;rOEM~aK7HpOG%Ou>N)HW#tYa}%|FO(k!H3J8jZEdq;! zw*2{1(%cQa_`N&&*(_uh=h2G6ccTTnPo$;UOu$QQzzv)K7kqk#sY zhQNC%t`!6C?E}9e4sRNEcKJ91?d!;4$VRG}`<@Ors=qUz{02bsWX$n#z0Ed$2$+=k4oJ1&f!nc#%p0ZPOVm^)GG4W6dM+ z`~DX@H>*dNr^%SSv9WA}CVA|>(1Y5SSV*4vK;>D=$$%d#pg7jtBW4mD>L3?QU{sg` zzQvyak`#cmS34LdTlNoLO<#zhP~93Zg|~;DpClT+doM%vVbh>T46u)9&@ZEPu`h+f z-gLpKtsnPb8!=|a*jNn{y9SQ3As-tWbmM@it`+HPKtzNB?K_}2WEA(?0e_a{1t8rx zGt7IUQ5e5CyGJ3XOC9{xf$|I{7K86hx*`gMkBsjB%!O<&UiF$gj$^9XlnLq z<+OT@`^IohOGiyi&%lC`?wz-)JVk;!ZubDpNP^cT!hpRtM!bjrNtCsjdp81- zEgn{z_qJ$Vpk%!ud;#o5)S^gQ zN=B%Rxr&#)9llF?Sw9Y3-U>!<+FRwS9zAat#QGqX6~^#pKrMntkrMNL(e;dSNF5XA zN#!9WbT%SaRMK|4tO7%AkWK1Fp|31CY^-Kct+JJ+gpX|E+1@B43W}yQ25Fe<*(U$SQMDI@sknG?A!|D!Evx zqyO!x=;HM6z694DHD12_&w`)bxi%(WfzRIp?dU9JZskRusKosE!^h;AoK( z@+{VeSHqlF$moM$ta*LC1(kOqETW z?uJIxWWrTA@qtNZ-YAI@a0)RFQYuAuDliCim3`15wsssEa;{d>yco}a8$96yE_=DM zW*DNdr?D62B0bHmk$Exw9w+0KtfbT=t6EOj<%iJ)PoYS`+31yr=f@m>8WSB~8a6hx z3yoC|<8V0ew5^$U^kdUGob_i0Nw{e;5r?+~CySf+e>C2a6?)=Kdy?~cLOH44pic*F zaQLp~?`x$1Og!?2*ZR~ycFWNLyCIa>p8*$MX=#9=gMW3KH)q;I;n~?lBv|rFfn`h_ zsP`%BE?PU}_Ht~{Opx6bV=i!Y#xOWR-spZ@K6X^*7{ZP4+M^Mc*pl64P|^@I0&O>lD9wqpSyr8wjUg}(SNwU)`&}|(n z=e|sFz>0mMInHvZXM%tH+R-mO=!_g+SU~Ks$4K+AG(Af4pv$apo%|LU-w)>LeQVwZ zydWY@1I_UHVsX#(cVD~($_J7b$c$vTNXDFwV4Pie_RTU)bdqt;og2VJeJH?`I%wPq z13#wmWgUh;oi=idAM5*c3SIc}qLaHB$uQ5P^D46yi6&b-N1X2Qmr$`*Fp5$c{GgAx z?=O*|W(mijD8)Qe7jKm2f^J2^e{t}gNH1*iyM??_B9U>2N|e~OvR)1gQ!%Fa+{YGV zw2FZO6ql=zLy-o`x1(efXNpZU&M4%Q9Vq2PaZsOR^J}0VS!tmzM18V~u+dssBj*{r zNMhN7#`iE&Uhx12n0zayNzn0rHdXkHuVxDE z@poeS$w+Cl0vGn)y67#1Q%bh!=rz0gC3c-GCduU*4VnnI=tKqgwvcrZW{9=@ejZHQxyRA6puKmdZxgsT?>a zvimabM;f}d`?5|ZR~EQbS*_dYwqy5c`Y7aNH@|n!KMlms>iO*M^MO~x^Bcf3fE1uL zslp7%KHl2B%!q&^anXbMAxcF^Osk%>hiuKVv%oQ9G#{nJGI+-&_FJRuPu0)TswQ6> zXbAE#{Qm6quU5)!iZgOQM>?`mk|WUok5vq239YfMb!m;5ZRG3c-fg`wOYNIS7Tn_% zmd0{=n{w46%9PldH7-^ozb$)s}L4Vpy zz16^aDXl-umkiq|9|(yMi*F-OEoLW^DSHr@M6!ZI# zPIXUbS6iMz%C290IA&pI!Oul285>Lo_8Va(1sb+`k6}!UtsFtu*+YJ4uEt8+E-^5~ zH_v|RY**L2`d}+zfMN|=f6I5@ZVg+&pFWGx03Odz)Bo1i_FpHI4LNu){`uo0^Qx%wG;pG^@3bXDX|lO&8V7H8_Hz% zZwXs`kA(E6qPnS^+8&S#7^H=-UKA_+It4^qa&;W(1rclTIX zr0iVmFxF&IK3C?M(;Ato8a)*)q*-dT8ny;(N>M<|^6KO_yJg+fl8zTf&wQb+2a5jn znnj)_tP?llV2vO);-Ibe{YW`%6#7Q3WsiYe#X|JzC5a2|KFja3cs`Sf-)U_|{&wWx zC;~Mz{k7t$4!5-U*>hE^a51?D#;lg-Xi1Lu+S!R_hZ+1R9#?elQ92Hii+<<@sSzfn zJuF*!?Ejdown|D^!R=HGNTk@QZhost9xH-0bo}~a&$B-jpy-XnJ@7#KD9uZI0G#g+ z2t9qb{Q|7s(>Z?^Cm3eu|D3^+U30r+#OWL7|Gqf%^~VMsuQJbmfqy>wBJ#t`5-uZ* zkcH`ni3y6!a*($1^79Jl-8)C8uj3RNXX{Va<2KeO)U?!w^v!D-nq8;z_H!Hf*@0D~{TGJ(zFRt-)p|y)~yoX}?C4KLRM4$dzwCA$6fR za>M9LV_xLVvya+MBoq%qX{e7KjgtKeh+N}mWiLEZ-4yHL%D}cOEkYk z$!2eG{-#O48F^>6c##Ja`_JxWe^5u0Pq6-EQ2UXCM4q0tdK3=%+=KoIuW}goO9kJz>w&EH&V_@Av=Ca3;WcpC9*W zK?-=Aci<%aTk*QC?v@r6VlfL|MGq2tV?OV>|;dNJ~ry+L63W^kxQEstg|IUUou*N zeEh+*9Z_D+0-L^|#sYJbb{_o}&q%DbE7<^antl{(|XW{br*L zz{3ByJZ$*$_4e5+V1OZ3Bee8rhW(xK7eGFi!?F1wB9+UZKcBGtI&ykZ@0{9KKRx>w zKM?)bV*bYGscDWmq|{IL+)ENbuQ2) zfCPJ_|6*n+dQ{Kx~_Vus2xLQWe#`o)Fa};h0 z2&1GwDExdp{B5Hzw0f>X@}XqobwT_$frFrmAVp^UGm6a6r|aa>13a$i#Ws$<-Uo@O zyAE|#oPyPm<|2hK1u1iWMMDMNNyr;*!EOj`c@V23=7yJ4)|gfT-DgyX5=65_ z&lp;`zVBy^{UG|L8ZeRB_*6r>I89V!tRS%1C*V@PH|$n+7nR~uUiBQ9`d0bbVcWbf zo}F8OH0k$3KD)bJBw#S|u{(bl_Z>i=P$%UWTJxe^Ys)YhN zo7}Nss{ND|?3py36q!k^OO$5x;2o?y7y2WTS@8r)Z625$u96dUP?ORM9!>l1_!lah zF5DGW_A3*7ss^?9^;^H_t!TScji9crWr_0P;ejlR#HP=lqX@Ul6}t?|B=)#zr-4?) z^|t|IB`~xDe&G?5l+# zA%P3nAnyPx>Vso(Ik?k8_Hw;-WwMD3p= zd=Ns0(B@L%XUyx-|I?Lu=%Q!a z-`|>SIcPNmt=NJJUjMmHg@hpxwZg=KlS zfL1oYN+lX?fwaYH-`Zjq{EQhghh0Ygf$;ah)6zp+yp@0=v0$EVKr)}iX}Kt(i6(zh z291IWK}qlo(vByJ8C2gN-Mc^AG-Hl+0GyzUp*M0ps+MR%U#&paB14a*2`$JL!vBj9 z_BNnfVlMzq_FE?Si|~dMLFJ1Lhsj&m8#f5}R&3;~|#KJMm)eKbbqfXbZ1AbO6=wH@&VOP+t{3wuLC?Qtn|zUsU^=-I=^Cu$ABnZ#y&iLELh2x4;y;~M4$vr= zrN=?gOE4I#$2y&WAt-&tIBNCKRMG}JchmE`Bt* zNFRUHv27JmafIf1`$^>19aVk8Xyd`qpqVv4H&jY?EhuH{h!6WfL_(AhOVRD2;0$O9 z`yT(9<7|Ge;)vl1v``^7+sB|TO%!jkYLzC?6hp$9Aka2L!kvIEj8GGa7S{E@jJB96 zI&=;UG%7JLY5AIhvJAD7goo8kgNo(oR0_h%*kFX@l&RRD0{QEm+w(G=yNC_b;v{Q; zYvrGgC%a8vu>j*j^DCEJSg)kTEa03mP{fQ|lc}e)j_%&~*QK2((#eNP z>bi}%n0>LJ{NUp`c7#r_#=$b_-5~IdzIB)hD&|rCspL)6$3{d(@NbY{DxDQd5OtIl zf<;d6Km3IEV~LQH`-PdOf{@&vOU*&N7GvM~y1={0@)rO|rKyJvsB>Zbi<49gf%zfZ z#%a!1`wV<99x{!ar7}>AN)Eu};yL=8E2sm`Nzb1d|DmkxHi}~PiFrPcQsfkG=zu8R~d^eeZTr3I-Ps+Yp_DsO3vc= z4DW8-b$Xun(}y`vltPJpSp?^k2Cs{ zig~wFciF$fxbCz*+8#VkX*ZsF72OrwfOMM(_cWDaKZK7!+x|eZS=sW&_xW^p(0l`ZuSYN%r)Itn$A{ zn~q>d^f3HLAbm6S)rOIRF2XH3<9H$wQ>qPrh)l!AicPaulRo`d=Tt@dB=TGCV?}Ag z&PKnm!?A@a-+9}$6}7iX1Oxi#{m-^o?w@1T&%C-=+B{kIO8)>B%0V5 zVj5^Mx%+=O{2z273)tkRXGdB}l-5|7UY0Q$M{);jw339pn?9|;#BNNisZrYFz}wyu zm`-ias*9U{u%R$TfNC8sR3A+dyVA}sx1tQ>rF+O9#V7FzT*iHlm)yLSt%hqeoMWw= zq`-KyC)avHl+#eQUJPv{^G^By;&n6^Bu}s3awwSvnXC}?G}tM})`wRtZa*A?wh4Im z(5ZljHbtDoxqKyb(XzLtGoB$AzI@q_^vd^TyU9X+qp)C8f;FmMF`9{=z7ft;84#NI zX%M*v$9kH?u08)fh+I{ybs_A)w&loL=BwR}7OrMA9!!-b$9b@(2GS`#Uw$h#2;{Kg z41X?exmrxbyuzaTJd=rRotA9PH5@+cm*YBO(CaLu)YgTksR=c^l{bc^VQjYBbD9=0 z>X(3)zAGc-+V7lTX!rzw&;)D$Io1s&o~ssO3~hCsjmsq*EOWA>TI2P`pFg5$wa-vr zazZyP_Yzq*o9+DPM3@M{X^mP_qz3_EmLT?sO*Z42PbTMQPrJRvw>{BO^=--QUUv}) zVG7$}H#8|HnntKT!FfZD@YPtlp_ybeSH!K>8Mb$6ZB!z?CN}^3y4QJI$Z*;15 zu~%gkUM#bqVBFR(o5k%h*g5J%cM9)_1Urzeh@r1QftkXI`-JC3fvG$U5AP=-w`bhf zB=s}nysoIhwQuvK`UQ}Q0c#Lzf!Xct_q%kYYm!Zs`T}+)3HE32R-9nH+Z+5MN1A5B zr|c}VZP6yJ=Iy{K=b|2loz*;oK%`2UpO8hm(>E*4!MrahZ+-i+S({u4W?FH;Y+Ub$ z_@FDAfK6u|Oen?c=p(=`h3;wuz z?t6FIN(j0on4dRdIZ6*3Y@GgYGg*PN{ph~7uwFI8Q&81t_hj80${MuU{k6ivRoIn_ z6AMh{zC(rr7dEGgMLz3AySUyOLUXHV;R%@BSr-D3t>SbE8ze)gYYVTJYzjom$c6EQ z)6?>6nTm(+j=r|Gw$)bk1&dwT4z_*9Noa;152`X>`EH4bv5@@|Jgs$#Zxc=Iph&M;V ze4{qP5Krkkf|LFz;)`%~Kkzb~d(TDpn6tiL`L znhdTp6g*xvw;onH_^(_mbSAV-T1z&-hmkNw+Q$(HrDj-0)cH1TxJ#zNScOr9F6!5H zw(!a{-hI-QSGy#ZW}q?2N6ov-{q`{$d~t{X%}UNsv%m0jR54SqY3*0siI_e#QVNjM z&~e-J_VOAmCu|K$ zKqPaWIGOXtXR8z(8eqSh zziB4QkPmlu+0f3PH~(`H#?wI?@5f?Ytu_02R&_b7J$Llbn>}56a9y}tqJx>HnF)&J z^R_Q$o40@RrcU$n39#O@s##?K%4#h$BnfP>qqoenrl0m^xo|V=3=g}4VIY~55Y*iEVZayHyP2zqG39ld0u zjkl(^_5$gsC68)z?Pa`Wc^Gc>U+C3`6hza`Em7;+LWMMycq|GAbgSvkCmV4OW;eg$ zDt^YsT_wpxbcVso!`oU#dOBj&<)LgwNDEccw*m#PDF=$k@xBWy?;RsA5gSmdv`c zM(zkx$$Q9Y5KtqT;ri?}jcu0s_Rh`t5=W$l*7TaP!dF>#y-343VRpkVlIHi~T{#R}%cWpF&PI|gR>j*Frhi?aWW<9!vK zDGsesHH>wry;|9wU7ix}g&zJhAg-ys5-9@Mmr>3MDdAgvbQ0{NPco(Bm3giah;4W^ zTATuYt?lk!0(Bv{uK;OiW8KGNW3v8}Ld4OG&iZT+O`oz(sTc7Czc6TdgI4}tx@!SK zcjVUszLecs`Z?wrzX=Hm)-C|IXLmd1U-gIQ?cW0!4;B{b6Vx;#6Bcc0e7w^nqslMb z*_atiCw_klm#B;C+^*#mSrBebJ(A4Q^Qb5@h0BHf;)r`#r?t`LcqY=7rKX}qZ|!c6G- zdJp9DIiNA)C7kS>_7)CowSww!G1{&4KKM4wpP7^>y7&MA&knKA}Yz~?jVpHMS zJtHkStg;kB&?8ofLx!}$&#?iVK@r9xqxC^53xz_$Y4)8aM4BzU zNT2O>i*@z5%o=O)t5ZZuj1#wU%9Z~mtN1L_2J!PfF5qpN^foSGJwW2I4^G*0&g~T8 zR_%;RmWSTh|3ir*%t>4C*M@ETOI!0<^c$wEe?3kefVTsZZ2STpfD?1oxMV$v(mzQ znZ9&etOg;?dldVevI&3^n_^T7o*7?4%6TRaWN0AMbV^Bw>+?>aEs zi-1Re5ApS(lZ98ubn%uIMnli2g|kT$eQRuON&y}35P1*W&F1}r?=l6-@A|B~fI^Oq z*S^sR1>3LP@9+6=fX-+W8{pJ*FXgvCCA~ph$1@9Ewyktb<2>e|De-o<5>$XwQ2185 zM}`Os=xh+D%%K9XICDb~!L=UI5+BJI(o>H?B3ItR3UA>s(F)Q_oZ)Z9L!K`S^k94} zt{d`Lrq|5ha(^-0f&e}+ARInL(zMornR$8n>sGS?Ibqf47=o$TelYga6JIjpw<&M5 zk}6B=Wj2Vv2BnHt-Ax%Ko|L2AEPgHzH+M-c>m5XK4ajNztl)Z16%L7h3+k>>x)cel z@W6a$a6EiOlMEa5Q!21j1>F2fhAkjNsOb~BoEEqB+;7CryDuo4TLLi<8LaCWzSuau zG>XJb?H!ehUV1t*rUH`}G!L&?yf2-lQux;%;}R`WfGn@w*;0u z=87h=)GEiUVm_HA3Q==6=)nvYLEEiPOrAYxnaGr1X&Dtc={p4*vNIqA0}vN>;^_KsV46mF5>_eeQ%U+g?~I4W*|DReZ?WsU!w#2-y`29 z^a|7B7S*l3P7+(FgisT-zsVi`33%wqmR3o+7?EA}qXq+Oro4*sNY@Ae4Wte=Q~0T3 zbQL6fs3=wXOuh9A3drP>rZ=V*-HTvx2MWg$*PpYtrXRr+wbGPPWQxFiG`ky^|5EK+2w< z^dX8Wa@uyi6?odTi5_!P*Bv?MYWE#E(b%?72;JH7%BJ_oPt_`6D6(X_QfgDT^rAsW zeCh4%EG=^uD4tFcK1|~y^n9f`!svG!%OKeSa^rboX|rs_ur7|L{$?gOP)e;VR;<#d z7hBZGnY|Nb&C3xYHvcY7xdLQDLDrk7E+jR*E;>#H)LNi?2WScOs{{H%M$x|mZVdkd z>JPPQKig&~9q(NJ$eHWTpLXQ1UT)i+v)-@ce1Y4Q$Os7i?YbhEv6D{_X&H;5<(JKI*kTN|99Et9Af#+C3wZP3yHl=Z%+t`!;52|VSflkJ)=sxVlrY}kxv9o!xJvP-u&mlQE`+?zP(v)yB=CmK$L(|RtHaNQ1a*(_U zetUfr7(=VpS82C0**)*GpG!A@0SNL%AmtRY(*l?N1F&-_^51WFc76100xt6#Y>u$7 z;%{R?mi}^FT?Iv026HFW;d87brtVOa(2yOCJzrFlK#N~p4&b~(QeY!e?x1Cfp~+nM z0$`BRL{as~F)kH75mrkduqBpLA_#V;vcu6NyrO7|CMH&9#pUY z);Wz;1ZV4mqkq-wW^)fr|G5`oEaf{F{jUAx3b6bE`w1Vzm2KpBe?Wc>Ny1^u7)c7@ z;dMvy(SxbG&lEFvoo^&iV*t3(C+K@UH)D#s-WET65BPkvys7N@CKLdo;##v0so0Ut zFS7>dr!AP5&^~>3GDvrx+=#bi;!?TWiRp9akAlTDhc)R0BjF`Dm_ z)02I(-GR2*LdEakm|4`obWfBbacMd85PV+*1-4sZ0`2&k11 ziY$;ZuAv_ku^S3)9q)!>juzwqJK_ePh(Ug_O7A=6U@**{OU`sNfqq5x0YXv2^WhM; zpVeS8&sn)$>H_9gW0m|A4?AsptAx>XrBD8wh`=NrUR3%qN+IXlcggBU7z^@7KQ*q) z4&|eiD>Wo0cBbQl`-T}q|8BfQ>o7Z1gCNP)Q;p!fd_lhgQBRv82z3`zn5$(Vn-~}n zmkCBfyM*qPT{p=1ic;pKMP@}A0r^jF`y7d56b}J=ob>ETUKymAs!ZeoW~vDr#z@;3 zoanWmH4@}23+mYK?JsG+`6;(NDpOdx3IcSTJ3iWpicxTFz_5qqiAyUdVOaZQMy#-EYQ{tFY zP(zgz3saDWWMHX)6@vGsS$pajRF4qH^iNUb&1AS8Eom#+Bf&1tS#!v-I+d<`TV=+? zNb83S2=t1-+S@&njc~nD1qz8AaUN2^5h_WBc0mv|G2pqprfm4v#)I6fxkkcDV=&@AyfxL#+5j@i_`|a9Sflq{<3i{a@L})I@OG zVne(@ByO2oqw>{{+kJ48Cm%X+JgLBZ9NQ4vuo$L{$?z>&$>6X{$X7b8Sr>UpAy9tdzeDk~j#zVOQfjLj^ zJev&8h-I8<{oJPKa3KE^nPoS8;LiTHnW^KHVybI_^|P0h11ZDB&JKpCDnUlj;C1~YY@a;+!eq~ ztm7OmZXEhBXN#=xbX>0Coy*jF&~Zp*kh$=y#TG&SYJwf46e+ijvVb3emMzMmcOU#9!-d0m@vnKpwsh!kK{Hk8Vmo{;#6Smt1L}lA*h6`3dP|zc1KxKn0 z)kMb^h(;@0zS({q57IitDyt3^YRBccejwD+Bv}K;=3Ek}|$IMgQebkL~ z9*?;rDqiCmyMS(-G_FOP**m17`y>U|L?UOe8K-5bIZm0+)n%5ZJg+m)a=~+pE2a61 zpkbG~NS&^cxPAt8?TGoBK>^ihzZPHCf!i3gJW|mfGA7MFQeEyP47*%C%;j4-#RT@p?) ze6bV;Ng|t|Niahc@8L(ubm%J`g{h62jnS?xNT>|3) z6=CKFo0_alzX6IIslv4~;;HwP$a56Wm#;ezv?hps3EkN-vO!bCBD$RU%n>?t5b`J% z9zl>D6K`}d!I@eH%GC6K1-`+nY&P=GC$bVjXCFJ>BWpy;p1dOty#_4Z6@@O&^VG5!g= zt!&7RxehY1G)imtc=J*dp_npr2WlDi6PA-}&6XDF88}j+vM+K;-L?k}>L)^p^a>ow zkrL5Z`bUpEP=Z{BiOM1b87SBcBf6tq3EL+qj6zsjcGoxS0>__d{Op)cKv`%>%zeFk zOV70;9GD2-PqomrcYf69mF90h5Ru*Gc0=`;qp6jx8#TfY&$hg z+g;Qjm@$N3$lI!?^|TmTuUfP7$rkf>G#)6$L0S0ZvqjT#7H+fN?kT)6o^vJ8^G}X* zxHw*O7IvY|=H};GddY2jY%!{+L`046HSnJ&`?H;%DbPiz{uk@W<9`KgHk6_>I^2LM zp1W+d#ztESlsO^E0r1E$jm%P*GU%iQlE2trG=BV^w$FmUVx7V%D+<0i&FxodB#exR zHR>;njQob@@>^W)BrzGvxQnf5Zl732v+_2Grbn+`x@s};=riOe&|B85@M zPqe0i%YuiG&%c*uj65MtZr2!u2-bFa;DKiEnf}3hv9Ba-CGrSTvLH&ebrzQ`lNv5t zZS~^t-@lMj2M{`eIDMJ_;tq`s2GU=fy|7;a zSJ>+;0(D|%M`YLARd_#&1giXIH<>F6U?_V=O(UFw%B62?(FJ)5PlA=x3*CfDkuW3{ z?a6DdRL&9VQV%?Gp3jM{B(lU!Fu74FG)Q|TGenc{o5TgRM%eabG6U}C?K8UEdu-m$ z5EDc-yji0ivAAtsy0hLHT1n&;o-nxJb$s#6MoH_9scM{!UMq)npc2JgapTd4Sdma@ zg>$(Ok!1&Q>tELSZdX)ZX{Lv7TKYs-2#sjTU?bn?<&798M59(Fb2)`3UIUpTD=Hktl)IQjsFRm!p2SEjcJGC&SosIJ< z&&kj{L4pMc@bGeE8q1{2AROof=JJR&F(tv1lxI`R75~6) zwIcKEjyJ^~=s1S{V+1qdTw|n6pLul`Lobt(A|1})U?V)_27)>P&P1@f48F+_7hg*!IYqu~?B!EW7yg9eQ>Tpi|qI2%T$A&YoEUuAPDOl-x zmD%~Y1XG#S3J#ohIE8~}X=0mL;uhQPX@>A#oNPU?vw#soZtd5nI4VYnWUUrMPt=~& zHMPtkAz}ezN-t4o0ElbizkTfFTTzv;Cm0BYaHM5to1Fu>=JTe!TRrOMdO48chTMcC z*bm=8Q+GbVaO)2=9qXf>3YzjD@aSqo7Ua94gHTCWLh2|1nKJ5=L&Bd7rG$*4c)DH+ zugH0hg~Z*ZNv9pUTYs+p{3+KkXr=PSYW0qGpPpLL zLi&pCQiR42p4X?R*Lztme4bZg4FGwD7I~T-`V8Bu68J2l8 zgcyG|55K2bYqCj$x{tOSsUC8t{ESxjYZLxe6GqCxIY{*QWAs>qii(T_QyYrJ_34t z=AhZo7Z}K*YoUFl&B(*sz^GIvdR7f9qurrX+FUiG6sZGI)jc?MGI6+op9@r0y@?`Q zz7VfX*lR(MpN)y=oY;n%~=}^=G27TN=2sw76+L33|f2>SYZlcC)W3srR2lv%Q5(Zrvyz}_BRPd zNQYqmRz`G!CK>n@_fK$<-HK-&o+8khfYSA^ppkhDUeVC9uzZ*&NJLNSqB~gsh&x~K z!^_bH&q`@lt=%{yco;mBA{TeVbVhKj2}3>i_!<1h zu$ID9%6eJ11z)z0;dbJJOlILn@nK9vP+ZU{;&v>lqU4~f9;c7m#&Dg)!p_Dm40m9{ z*sM=mA@*+mo3;rrm9;93A$uM9fEsZXgMRZ~*Zt41Dt_4o&8aO)GgAni*$yyS)%jEnpY32-_V^q|lEu8e#-RlR_r|AANv? z;DBzf_saS2tItai?<7Y%mBLM^KyWdQUuknYA-g}*EoG>qnljEkie5SoNa*(HsatV6 z)m+dFJrX1J>u3B7(Cs8-q(pD(J#o->=?76 zpj7%B1Ph)otfA{wb<3Wc<}MU9O}tlF$!s2iP^mljoH)^7t)g?4wikV#O?iC7O%eE1w}(0O{zd;4RktE zCeG75t2$bokU{MaScr(;cF6fqEJfF%toGR|>00~&N-Jn&_Am^?P||M1+`?n*G)XBshCo{I6H*!}Ica_cvEZM?H-pthS01$> zkm6Xq@ggxdvau%8cG;eO12$+~71`>t!U~1PL=|Te zEnPbMqG(BpN)8dtcW<|$(U~RstHqIME1!_Zswk{S5xf*^BPyN+l8OvxjsidN*v2n* zuV-_KCYr!bcm#tk={aLTb&!71&r_nsdz$o@tlLk2f~=LSyPY5G1GH?GgO93 zJgO#gdmR-(_{oV*Q7$7Nv0@FVk(IzF#}3BWZvuMqH`=Z;h`{wF)_?@yBK59Ra{uCG zyQy+=aor-LwxLj^{nsl%>=VJ9%(fuRa0SwXrYPzxa-3wofs%9LbZ#E!G?{Ry1{LMC zR9xN;XWUI$S+#A9S&E|j^--@UopL*w(81!9f1Jn?Y~WClVjd9Nsyg~N-2>L`rxYMl zsdRErXw{FUz@J`O5G_Xs%g$cA_t!?e%Tuu6pTRxSD-IuJQ@GArU_I79>?GkbtQ+hW zjs$3#ScrOSC?1Ub;5*<&nD`hJi z`IGx_E#7V8#PDScm>g|FxQqF&0jt*&;HJiP@oB}cfk+`Agp#-=zD=dKOJr8T<(9`> zXHwk7cWJmXr5ix_S$)S6)5@UKjjELiz8HF#bOD;4wlQBov(Y&)4Gsx6tG=HmFu|^% zGl?N4hLBWcWr0eLsw?xGOtns{j*a)?NA!(Phw`HdTgqt1U^QgoS|_n1j#6nP9@zd? zM+6m-5}E0gCnNR&>WUOhAAi57Jo7RG5}t}+b6JRLS4xTSOC>J|gLJp!{DtCTvDGPk zXz-z8U;7^p&xE^r=nPq{CoK&^Pxp_Hz8i1CKGp(=hxR&JQ(8~*ox`2O5_xMy6ua&C zgCJ$CKMN?IBq)-ErnCjTb@9NC{TBk(V zXg+uqdzPv#J7uyick{j*NmE_M zfM%|GaIO|!rJUw@kCnP&$BnAG>4S9|bNo84L!6X%C$*`ivOsD7B*u4B& zyU9^Wp(WDZUat4^WV38aI*_6k(_GnNiN)H)Rjljea_4Hk9~dQ98MpQ4bA(_cvU(ag zmHbXCDz4^i^W1aQI2-Y^wje2>_%K>Z2pF3Kcm+&|t$j3kM@EY)@T zv<0df&^26WqB32z(B`fiE2kXYe!F!AF4V%v64)Uj>*=KGy<@43(EKl`cfs;Az!cJ00P zT6FBBn7MXQOcBF+&Ccgf^ZA z$YFO&-tl0qA~T?Wih>0Itm6;iKv0$mi4?lEmQur6s3wme=F zdZ-C7N;+!d(^+z^Y5626?weGt``3hI3r($A*;H&YH{qf$SsI2(_#*q;%-3AV$DXmK zN#Ip8xTTRl7Zig|eMzzqT;P%042~tt@mN+lWWGpjhGJJ{>;Nbgx1neU@DqS7#6(sk zMI{VoD3nG^qrQgL!N!p5Kvvp;{eZR6g{}`7i7iwBYk*G1B znPRRN{hN?vTzgLC=3^6xLNhlhUyik$+tD(v9RSPu0*jT2Jy@HdBl4Jk#rdN_I>%v1v0D_QX7H(t zGX6w&kG6n{hbu`}8n8)tW}rL%UV=Bp-(qvdCk+}FHL%EF0+d+?LyvSK1?{+$C*y`I zLUfW;1P%pm&|tj`sv$GDA?#t))9#%mLkx})`{=Yq4DsAX;qTyV3F->j6}!z z7~}(O9v?lzp5#V9;!fHpM8qG&Qim7;KN=B|NSFyJG;MsJ2WkHx$GAZzpGrT{TT8I; z5B7}xy}}gNss)t$i^z#EJj!$k(#8c(uIpyeZ-O*X;Wjk zz^Pd%2)9X6ZbX#+W?+PoUJOnxnly4H`9}xj(?`aV0B_AlefFn>ezC=*AR)Y25bI#<^OI zfYiXExj{^Qj+eOZL}bfam&cj^kB0|A;Gc#T{JVcMqUal1l z%-33r*7M7}IXVf`;-9e#U+K|UL$>CAb*M{L7VBPk(JNl}njQR}g#T(#*a3{Xf0mC9 z44siHSTrv4fn2d)ft*TXh#5KD{`Xg5f~qfLTND>oC-qD={0bP$!np!XLQ*rWuxY-f z0jt~$#9V(UsQt1Px@|u*t!Y)p|AF7v=qJ0uC*NmwW8*GkTMs=Z2eS5&XK}V1wJ1=8 zM716XOrss}k5mLAauzu*BEJ!QLpBT6Ep!ASj$%c!3y&N!{zZwd8j_{K741z^$DpG7 z$cn_&6((z|EWQ1hLc#)>(6S_%l=)wQt2q098|*IRQ9&v2=yUV?U_H;! z&OqY2Fe6hh*Cw|&EpfI}pWjOxI^-viCp_@Z85sd|09H+FC8OZOAMJ@o-f677l;#M@ z212g-L(S@)5Z_OXCvR9T-xN3B2Lo1@$G`!C$hPGa=ZA{hL`!*}Y2GWyzR)qw`aR5^ z^wFqj{dA8CfcwJD`#i94nBzb$aX9+cG=`Rp`v{mib&bHM$_V^B32p$SEdVbp`flmf zmgnmXNh_m55@T|LFe;{aw#(PLxeBJ_$#sCHB>UEc>*-*vm@Mm(pt6=Hrwpf07`Hsb zjjj}0K`=G&(nfu$p*aX-Z1 zC76H%B}<-@#7pn$-|?q)BvvmLi~~h_OJy0mg$etuyO7!O@=4_8C9m5YxP%VzygI^u zk+r?vJRe&O3ZLq%Tul%UmI_zYTsziGQIe9vRyHvn*rZYh4L#HwP&DP(K&b>MhdgY$ z1w=-~5HEr)$UX!|bK%f>fmFli{JFNy!r7uyUntZOtAG*vYnk0rRJ1QtpwE$#O>SS6 zMBgrY(`8-I01Ipo&47qp{!+(cftSQU!7n6N$z0kAs!C)SG-}!_Sa3cboB|3`C<4tx&srOW}1`nm1IO zO!t#R$6`TTL9Apfc>m4_A(I1)gxI5)E2<0I%s(v}Avv8H+EMjb7~1C28>kEu=y=V+ zF?1~odFskdyP#c4i)Us&)R2+0g0i#F(iz1T9STKtB z{z2`NK?6VSZ_H(EmSB{n~IZuTAor%=R)<5|KJL8)sdvYn0uTxk*+9iemZnw-9 z3J_~cCeVpdh%E%R)sq-LUaSEU z|8f3Hya(G^I*tN=R2Z=PFV&*#_&6xRw67;^V!abgTAKXe^?fQW;rHma+iICGVvImP zyPx<$lh6svd#HU#mpnv7uhM+4^~B_AEh|QjF#E-p>IUB2n2b6}im3nb~coT9VmBYJHV~z2)~(FoF_Y$!npqlJ`)l z{%_ZzjU;hLEX6h1jOQ++OS%FyN5e!8U|}vZtHB_J$=weyW*ApB*ylBIKi9VpSN{gg zeP4W`C#nIDT6~|$kK_?2Od>k9O_q$Lkd~|gJt)iJv9eK&Z*U1X2oO&b2Zm<6;8TIs z+fqu(WK6)gom1Q;i;h#gR6n&&uQ?^7wV!7h5Yn>fl^PNfEB&NG^&5-NzjNFmF*u3& zflZl*w=>cuNQxOB5BKh)Kn??zTodJ zp$nL7EH*;d5zIivlJp?g_Vi_3K^aWgPx@{3%M0a+RfM}C5=(oPDyAsgOGCa5sl;^J z^z_f^84zhZomvoTqA0}$e=}7>9Y+LMJZ4+n>NDM&*QP3fF@n6gmj`WIss3`6GSICH z1?AqF0I>}gNTA5vVbcBVvIhEmj5Ao3N{m;Cs`JzO{bgAE+6h{5NqWnScPudRRmYA) zv9j!9-ysVTW1xM~q_?t#HAuZ5+;P_f`vk#CE6=U@exIU}ZR0l=yBoQzrB|XVlVjM8rY79UgOSXR#%C1b?)tX-KAp9EWG?fI zQt<4CUQ-XrCcC+Lzt=YfI$@2wpNHrItf{IoS1Lb!n9OUs*<^A&4Ke_&p{Bp##|B=0 zS3&*XA&fS828i^|K-Lsj#PkCT^Rm(OpQ3D)luLv}=q>qQ!blkRPOd&-51j2r9kW99 zWhw42i?R7J7u)aE*V!D*G#x7|gZ#uDgXXDpU0x(c_n`~}{a>$Vil|@Oyd_G2jBcG< z;v-q_W+X*r)K*IoGKNC}!?->!5szZhkwpmKWH?Y2KxR|p#SNIyI9HeR4l7i$L7L8B ziOBbC5kE)JUQ^6Nt$2ePk!{mP^P6sQqK6*9R8cRc+Py&YT{i5*e9gSvK(A2WeGQ;9t@&1QUi!+`J%!x~pDXE8zZ$?n&lKoFRxp7j3)(*%9CUU< zwIcinXE%(DTe;)~itK{!xySxRNG@0uc%X$GopfbrB*V zz5S%ZS)sk4Ep{o;jcYq_r-Ey&AFa05Z>7cNHG_kZB)PTvF$9w-z#y`8Q{H|&-dsht zI(i}i9%7=U6VA>SdAb_Lsr5!V`ZGw~Ecy2`^A>$40RL#XIKVH z6UhnCbZ3dyV6@yMj3FjoG8hQM!9t}YZ-d~|kYP2*N4)zWp=Sx?M{`iEGDV(ls;N#J z$?cvwwrh&||4UuC5K&0uQoFyLbc*uy=;);WDqUi$B)`KNd{X{tumm-sOKbag$}Z$` zZ-MMLK8H~$spGGMx&&#*!QBiRiL(-Ox_bst(^pbeCVuS#RGn!LCQQRJk$l-L#@S6m zUZT-#bPxGOzSY4(d#OTMci!?1gqH6`C@QLy;4Qm&JT2i^5twTKw+7H;F_9H(0#iDZ zfZeT0&ftG#Ag058xu{LLk#_(`@n0x8f|kYBW7P^zqnJ*MeYvptvc{@pX1YL3MLWp> zqe9#(-_o3K8(3DO%;ZJKn566iVa^Fz&VSI)p8qRh6%6XnnhIf7JYDNxyE2p^Cip#T zTeGneG-OJAhoLShT8_J0VH>)SOen%Ri3&2bPr*a!@W-v7c&Yaxf=kE_wX~_Li zD(hZ>vz3t0M5K_aY*71gI>^^XR&zGopY zRT~WkP8)m=kJyz>sq!w4&WB|AwM9W1){m;tgQSVhYv(5gHjq|{5c3KJ^J2?#!76Y3 zjXzcYx-cqns`4)-EIeCt3n&bcR0T|V6(_+(8H4|WY-klFYl{?fk>gS)^+r-$Vv0pn z#2(v3i`kY&BYddfbGfQFYMX+P#vHB(Jq26UF1)}P%Y{m&jr`v~UUOudV=n-&JgCc% zX36hRXoTxB)rH;@XcWU{Mp>tqh<>8=$_$hF@8*L`Rvo&!h|+;)YY)@zpG{q*zE%dj zx(Eg&W>Kr-h}YluF&sVt+P6?@IK;T1`#O&Gi_4uICz;2q@8~9=K}9{cu%z%jTzVoh zURo@|WE4P>|F~E*6w;VNV3R^k_6HPCqRCPHk?w~1E45Z%#JriLs#cns%!{+Eq+_o3 zs02t&B}7hEBPc&|135y%4HUGIQvv-7#|8i%9B-MB>aMz`5P#j5YMvLZ4y56DKGN;0NQaes;Yu_HN{NENl=_Q zvI3WLgB%crR=a*A7%SKLl(BG__y0$@iIpeR@?0MR&0BlF-fEB$Ti}yjC(jfv^7qXQ zRMDGCxwBUWdn;eP`kHhJN|;m+IJ^IYxm)PIOF~`a9f1*Y5rOX+cnN|KctGL>D#D$U zSW5r&dwA3lvb-DLvlL2IRD**)RkGWg$h;Pp#L0IS42`JsPe77MCnVhNnYgd&d5`sG zk?xrX7dz8osF?ifB$=%CcjQsB{UN1Ap*1%sr)>Li^=4;{r&OU zn>Ky+2amLO`l-zkc)1X~rM?&@rCwMp`lO57zfg(JgPvR>LS-Bgio~Mm=%~f<+ibxN zKMgEG*%!%`>i+__+iP7T3%qv*nlSz_3wB^fLMbATg;-h>+R=p=(f{j5+xbCTZK4HW zZ4%3Wr%bf5vMlA`br5Q=KS!kG!GI#&>zEl=Bd{f)zM96XMq@C||NZBm+3JL4l+e#+ zTG7R3J@L6n<3oI-qAp}vQDU0;=8P6JU@Gh6eW-&nROCsy_#~x;O#Ah?Hc$18mHs7& zt#KJcTj?+BzE)UQBw|cymd34i5~;%h-(u33y`rO9q-*=xI6p5>5O%BLQKohM+-@%< z1+Ba_oVe1OZJPaBb40EK9(Ws(4AQycN1_z{~jqnGadRpZM zNX)iX5jPF!!BuOAQ#OQ9f6yz3Jm+_S=GEbu?|=$OT~f6q$y%=cC)Vkznd97im%$;+ zqL6tK)3!I6&S0%l;?^m`{R;p%I@V_7OQ= zAv;(XOr`n!ja@$pO>7G`mOnliOX1p-qdTjbA5U+VT)VHRdkUfzoAAJjvYZ@TJ5J2K zJ5Zwke#^_(KS)5VoVbGwea(5MI9^c-r-gmwIjucAcNA1*Ste8;v>hCN!n;r~zP4y3 z6VvBVx4CE*6&)5FIjp*XQ&42_?dF_{K3mUU20D@Kx;mhF?JRSz;$MJJ3qX&oStSE` zlQn}=x;Dk@7WSnWt+c}3@~2|KDaLkNBHcR6S>YeVEeJZG(I}uNtbiA!6ZC^Pu4M~o zNP*(;3O(<7*3IsKZm!!E)0JNz8Z)RF+IK;SjGJDXKJilU@N8ra4r8`qVLoAp{d1v$mPK z`^?zcz$NHQXl*wnjT}Zp*cMX8@~L|(4Tf0&k3_q~Yfow!!7;UIKDR`}v&h)uF7zEM zJ%lm|$F2}ta@Hga3Cp3j5x9m6+37t0xu zG)z7L-7g4NfcQIg$ug&Znu3PeUbFw}9gmNn$L~_6Q!_iAL6Mr$N-NaOAcFy1EXuA$ z{fey5NL5_OB|{bX)@szJfhDF|VV5dY)5gA&%$>1NfWj8SgI32VYw&2_MjITDGQs~$ zgcX7uVnQQ!ymeH!e2(y7!S~=0IZ|79N51Pomy_rVt&zl!O*=P=|K zPvbHXs`v!Z@Rv#z7L+1By2m1Wo|}W04oHcDs{h3l&yHqXV7RGPQK1oVMpJ=m&ryV_ zL4H6rZ-TO2jYv#HEeg4Q4iu=a&39U>Xjx?9VC`%7>kW71llXza?)rrg&USRW1woPg zf~6muXcopM5zaXc6;Iqs^PhpZCUR!xQqe^*vMv;L$Mf6Esu5&^U@HMN%qG;4`4V^3 zhVVs{GUNpU^@Ta6SjDo;tonDvtnjwF5H%HzbXsDL*CZ3MFkX1}(3lek$6~ayTKufl zXPYPXA=SqWshJ6bCg`G2OktTORR42qYvJK^^-#z$guUhj1qaH8SQ_8QN-N0?Hn}Dq zTsctGGuS8K=BF|Qc5xeQZ^EBpMz>%6*eMNm-(@!QT9;2jlzE=J3r9aMEx3eE#7-

UVX6Nfx|a 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⩔2V}q}8UC?g5Y$Lzs%2|BOKOsujqkmP!aQlOgTv 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 0 { // Merge in features // @@ -697,55 +702,6 @@ func (m *nfdMaster) nfdAPIUpdateOneNode(cli k8sclient.Interface, node *corev1.No return fmt.Errorf("failed to merge NodeFeature objects for node %q: %w", node.Name, err) } - // Sort our objects - sort.Slice(objs, func(i, j int) bool { - // Objects in our nfd namespace gets into the beginning of the list - if objs[i].Namespace == m.namespace && objs[j].Namespace != m.namespace { - return true - } - if objs[i].Namespace != m.namespace && objs[j].Namespace == m.namespace { - return false - } - // After the nfd namespace, sort objects by their name - if objs[i].Name != objs[j].Name { - return objs[i].Name < objs[j].Name - } - // Objects with the same name are sorted by their namespace - return objs[i].Namespace < objs[j].Namespace - }) - - // If spiffe is enabled, we should filter out the non verified NFD objects - if m.config.EnableSpiffe { - objs, err = m.getVerifiedNFDObjects(objs) - if err != nil { - return err - } - } - - klog.V(1).InfoS("processing of node initiated by NodeFeature API", "nodeName", node.Name) - - features := nfdv1alpha1.NewNodeFeatureSpec() - - if len(objs) > 0 { - // Merge in features - // - // NOTE: changing the rule api to support handle multiple objects instead - // of merging would probably perform better with lot less data to copy. - features = objs[0].Spec.DeepCopy() - if m.config.AutoDefaultNs { - features.Labels = addNsToMapKeys(features.Labels, nfdv1alpha1.FeatureLabelNs) - } - for _, o := range objs[1:] { - s := o.Spec.DeepCopy() - if m.config.AutoDefaultNs { - s.Labels = addNsToMapKeys(s.Labels, nfdv1alpha1.FeatureLabelNs) - } - s.MergeInto(features) - } - - klog.V(4).InfoS("merged nodeFeatureSpecs", "newNodeFeatureSpec", utils.DelayedDumper(features)) - } - // Update node labels et al. This may also mean removing all NFD-owned // labels (et al.), for example in the case no NodeFeature objects are // present. @@ -1469,16 +1425,22 @@ func (m *nfdMaster) getVerifiedNFDObjects(objs []*v1alpha1.NodeFeature) ([]*v1al } for _, obj := range objs { - isSignatureVerified, err := spiffe.VerifyDataSignature(obj.Spec, obj.Annotations["signature"], workerPrivateKey, workerPublicKey) + spiffeObj := spiffe.SpiffeObject{ + Spec: obj.Spec, + Name: obj.Name, + Namespace: obj.Namespace, + Labels: obj.Labels, + } + isSignatureVerified, err := spiffe.VerifyDataSignature(spiffeObj, obj.Annotations["signature"], workerPrivateKey, workerPublicKey) if err != nil { return nil, fmt.Errorf("failed to verify NodeFeature signature: %w", err) } if isSignatureVerified { - klog.InfoS("NodeFeature verified", "NodeFeature name", obj.Name) + klog.InfoS("NodeFeature verified", "nodefeature", klog.KObj(obj)) verifiedObjects = append(verifiedObjects, obj) } else { - klog.InfoS("NodeFeature not verified, skipping...", "NodeFeature name", obj.Name) + klog.InfoS("NodeFeature not verified, skipping...", "nodefeature", klog.KObj(obj)) } } return verifiedObjects, nil diff --git a/pkg/nfd-worker/nfd-worker.go b/pkg/nfd-worker/nfd-worker.go index e98127d0f..c547bba2f 100644 --- a/pkg/nfd-worker/nfd-worker.go +++ b/pkg/nfd-worker/nfd-worker.go @@ -17,8 +17,6 @@ limitations under the License. package nfdworker import ( - "crypto/tls" - "crypto/x509" b64 "encoding/base64" "encoding/json" "fmt" @@ -67,7 +65,7 @@ import ( ) // SocketPath specifies Spiffe Socket Path -const SocketPath = "unix:///run/spire/sockets/agent.sock" +const SocketPath = "unix:///run/spire/agent-sockets/api.sock" // NfdWorker is the interface for nfd-worker daemon type NfdWorker interface { @@ -198,12 +196,6 @@ func NewNfdWorker(opts ...NfdWorkerOption) (NfdWorker, error) { nfd.k8sClient = cli } - spiffeClient, err := spiffe.NewSpiffeClient(SocketPath) - if err != nil { - return nfd, err - } - nfd.spiffeClient = spiffeClient - return nfd, nil } @@ -326,6 +318,14 @@ func (w *nfdWorker) Run() error { httpMux.Handle("/metrics", promhttp.HandlerFor(promRegistry, promhttp.HandlerOpts{})) registerVersion(version.Get()) + if w.config.Core.EnableSpiffe { + spiffeClient, err := spiffe.NewSpiffeClient(SocketPath) + if err != nil { + return err + } + w.spiffeClient = spiffeClient + } + err = w.runFeatureDiscovery() if err != nil { return err @@ -654,6 +654,7 @@ func (m *nfdWorker) updateNodeFeatureObject(labels Labels) error { Annotations: map[string]string{nfdv1alpha1.WorkerVersionAnnotation: version.Get()}, Labels: map[string]string{nfdv1alpha1.NodeFeatureObjNodeNameLabel: nodename}, OwnerReferences: m.ownerReference, + Namespace: namespace, }, Spec: nfdv1alpha1.NodeFeatureSpec{ Features: *features, @@ -664,8 +665,7 @@ func (m *nfdWorker) updateNodeFeatureObject(labels Labels) error { // If Spiffe is enabled, we add the signature to the annotations section if m.config.Core.EnableSpiffe { - err = m.signNodeFeatureCR(nfr) - if err != nil { + if err = m.signNodeFeatureCR(nfr); err != nil { return err } } @@ -761,7 +761,13 @@ func (m *nfdWorker) signNodeFeatureCR(nfr *nfdv1alpha1.NodeFeature) error { return fmt.Errorf("error while getting worker keys: %w", err) } - signature, err := spiffe.SignData(nfr.Spec, workerPrivateKey) + spiffeObject := spiffe.SpiffeObject{ + Spec: nfr.Spec, + Name: nfr.Name, + Namespace: nfr.Namespace, + Labels: nfr.Labels, + } + signature, err := spiffe.SignData(spiffeObject, workerPrivateKey) if err != nil { return fmt.Errorf("failed to sign CRD data using Spiffe: %w", err) diff --git a/pkg/utils/spiffe/spiffe.go b/pkg/utils/spiffe/spiffe.go index 542f4bde1..40faef809 100644 --- a/pkg/utils/spiffe/spiffe.go +++ b/pkg/utils/spiffe/spiffe.go @@ -3,7 +3,9 @@ Copyright 2024 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -11,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package utils +package spiffe import ( "context" @@ -25,15 +27,26 @@ import ( "fmt" "github.com/spiffe/go-spiffe/v2/workloadapi" + + nfdv1alpha1 "sigs.k8s.io/node-feature-discovery/api/nfd/v1alpha1" ) +type SpiffeObject struct { + Spec nfdv1alpha1.NodeFeatureSpec + Name string + Namespace string + Labels map[string]string +} + // WorkerSpiffeID is the SpiffeID of the worker -const WorkerSpiffeID = "spiffe://nfd.com/worker" +const WorkerSpiffeID = "spiffe://nfd.k8s-sigs.io/worker" type SpiffeClient struct { WorkloadApiClient workloadapi.Client } +var hash_signature_cache = map[string][]byte{} + func NewSpiffeClient(socketPath string) (*SpiffeClient, error) { spiffeClient := SpiffeClient{} workloadApiClient, err := workloadapi.New(context.Background(), workloadapi.WithAddr(socketPath)) @@ -44,33 +57,38 @@ func NewSpiffeClient(socketPath string) (*SpiffeClient, error) { return &spiffeClient, nil } -func SignData(data interface{}, privateKey crypto.Signer) ([]byte, error) { +func SignData(data SpiffeObject, privateKey crypto.Signer) ([]byte, error) { stringifyData, err := json.Marshal(data) if err != nil { return []byte{}, err } dataHash := sha256.Sum256([]byte(stringifyData)) + if signature, ok := hash_signature_cache[string(dataHash[:])]; ok { + return signature, nil + } + var signedData []byte switch t := privateKey.(type) { case *rsa.PrivateKey: - signedData, err := rsa.SignPKCS1v15(rand.Reader, privateKey.(*rsa.PrivateKey), crypto.SHA256, dataHash[:]) + signedData, err = rsa.SignPKCS1v15(rand.Reader, privateKey.(*rsa.PrivateKey), crypto.SHA256, dataHash[:]) if err != nil { return []byte{}, err } - return signedData, nil case *ecdsa.PrivateKey: - signedData, err := ecdsa.SignASN1(rand.Reader, privateKey.(*ecdsa.PrivateKey), dataHash[:]) + signedData, err = ecdsa.SignASN1(rand.Reader, privateKey.(*ecdsa.PrivateKey), dataHash[:]) if err != nil { return []byte{}, err } - return signedData, nil default: return nil, fmt.Errorf("unknown private key type: %v", t) } + + hash_signature_cache[string(dataHash[:])] = signedData + return signedData, nil } -func VerifyDataSignature(data interface{}, signedData string, privateKey crypto.Signer, publicKey crypto.PublicKey) (bool, error) { +func VerifyDataSignature(data SpiffeObject, signedData string, privateKey crypto.Signer, publicKey crypto.PublicKey) (bool, error) { stringifyData, err := json.Marshal(data) if err != nil { return false, err @@ -83,10 +101,6 @@ func VerifyDataSignature(data interface{}, signedData string, privateKey crypto. dataHash := sha256.Sum256([]byte(stringifyData)) - if err != nil { - return false, err - } - switch t := privateKey.(type) { case *rsa.PrivateKey: err = rsa.VerifyPKCS1v15(publicKey.(*rsa.PublicKey), crypto.SHA256, dataHash[:], decodedSignature) @@ -112,7 +126,7 @@ func (s *SpiffeClient) GetWorkerKeys() (crypto.Signer, crypto.PublicKey, error) for _, svid := range svids { if svid.ID.String() == WorkerSpiffeID { - return svid.PrivateKey, svid.PrivateKey.Public, nil + return svid.PrivateKey, svid.PrivateKey.Public(), nil } } diff --git a/pkg/utils/spiffe/spiffe_test.go b/pkg/utils/spiffe/spiffe_test.go index 8fc9f17e2..3fe6a5a02 100644 --- a/pkg/utils/spiffe/spiffe_test.go +++ b/pkg/utils/spiffe/spiffe_test.go @@ -3,7 +3,9 @@ Copyright 2024 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -11,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package utils +package spiffe import ( "crypto" @@ -76,20 +78,31 @@ func TestVerify(t *testing.T) { } for _, tt := range tc { - signedData, err := SignData(spec, tt.privateKey) + spiffeObj := SpiffeObject{ + Spec: spec, + Name: "test", + Namespace: "test", + Labels: map[string]string{ + "random": "test", + }, + } + signedData, err := SignData(spiffeObj, tt.privateKey) assert.NoError(t, err) - isVerified, err := VerifyDataSignature(spec, b64.StdEncoding.EncodeToString(signedData), tt.privateKey, tt.publicKey) + isVerified, err := VerifyDataSignature(spiffeObj, b64.StdEncoding.EncodeToString(signedData), tt.privateKey, tt.publicKey) assert.NoError(t, err) assert.True(t, isVerified) signedData = append(signedData, "random"...) - isVerified, err = VerifyDataSignature(spec, b64.StdEncoding.EncodeToString(signedData), tt.privateKey, tt.publicKey) + isVerified, err = VerifyDataSignature(spiffeObj, b64.StdEncoding.EncodeToString(signedData), tt.privateKey, tt.publicKey) if tt.wantErr { assert.Error(t, err) } else { assert.False(t, isVerified) } + + // invalidateCache + hash_signature_cache = map[string][]byte{} } } @@ -113,7 +126,56 @@ func TestSignData(t *testing.T) { } for _, tt := range tc { - _, err := SignData(spec, tt.privateKey) + spiffeObj := SpiffeObject{ + Spec: spec, + Name: "test", + Namespace: "test", + Labels: map[string]string{ + "random": "test", + }, + } + _, err := SignData(spiffeObj, tt.privateKey) assert.NoError(t, err) + + // invalidate cache + hash_signature_cache = map[string][]byte{} + } +} + +func TestSignCached(t *testing.T) { + rsaPrivateKey, _ := mockWorkerRSAPrivateKey() + ecdsaPrivateKey, _ := mockWorkerECDSAPrivateKey() + spec := mockNFRSpec() + + tc := []struct { + name string + privateKey crypto.Signer + }{ + { + name: "RSA Keys", + privateKey: rsaPrivateKey, + }, + { + name: "ECDSA Keys", + privateKey: ecdsaPrivateKey, + }, + } + + for _, tt := range tc { + spiffeObj := SpiffeObject{ + Spec: spec, + Name: "test", + Namespace: "test", + Labels: map[string]string{ + "random": "test", + }, + } + firstSignature, err := SignData(spiffeObj, tt.privateKey) + assert.NoError(t, err) + + secondSignature, err := SignData(spiffeObj, tt.privateKey) + assert.NoError(t, err) + + assert.Equal(t, string(firstSignature[:]), string(secondSignature[:])) } }