From e7f8838a724caf8b4969d76c22f75225a9dfd887 Mon Sep 17 00:00:00 2001 From: backguynn Date: Fri, 12 Apr 2024 17:13:23 +0900 Subject: [PATCH 001/171] add aws code for HA test in AWS --- options/options.go | 1 + pkg/loxinet/loxinet.go | 4 + pkg/loxinet/rules.go | 13 +++ pkg/loxinet/utils_aws.go | 167 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 185 insertions(+) create mode 100644 pkg/loxinet/utils_aws.go diff --git a/options/options.go b/options/options.go index 2d664fe5a..e0676e5e1 100644 --- a/options/options.go +++ b/options/options.go @@ -32,4 +32,5 @@ var Opts struct { IPVSCompat bool `long:"ipvs-compat" description:"Enable ipvs-compat(experimental)"` FallBack bool `long:"fallback" description:"Fallback to system default networking(experimental)"` LocalVIP bool `long:"localvip" description:"support vip availability from lb node(experimental)"` + Cloud string `long:"cloud" description:"cloud type if any e.g aws" default:"on-prem"` } diff --git a/pkg/loxinet/loxinet.go b/pkg/loxinet/loxinet.go index 812881299..75b66182a 100644 --- a/pkg/loxinet/loxinet.go +++ b/pkg/loxinet/loxinet.go @@ -219,6 +219,10 @@ func loxiNetInit() { mh.sigCh = make(chan os.Signal, 5) signal.Notify(mh.sigCh, os.Interrupt, syscall.SIGCHLD, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM) + if mh.cloudLabel == "aws" { + AWSApiInit() + } + // Check if profiling is enabled if opts.Opts.CPUProfile != "none" { var err error diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index 877a7946b..6fe89393f 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -1530,6 +1530,12 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) { if R.vipMap[sNetAddr.IP.String()] == 0 { if utils.IsIPHostAddr(sNetAddr.IP.String()) { loxinlp.DelAddrNoHook(sNetAddr.IP.String()+"/32", "lo") + if mh.cloudLabel == "aws" { + err := AWSUpdatePrivateIp(sNetAddr.IP, false) + if err != nil { + tk.LogIt(tk.LogError, "aws lb-rule vip %s delete failed. err: %v\n", sNetAddr.IP.String(), err) + } + } } dev := fmt.Sprintf("llb-rule-%s", sNetAddr.IP.String()) ret, _ := mh.zr.L3.IfaFind(dev, sNetAddr.IP) @@ -2625,6 +2631,13 @@ func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { ev, _, iface := R.zone.L3.IfaSelectAny(IP, false) if ev == 0 { if !utils.IsIPHostAddr(IP.String()) { + if mh.cloudLabel == "aws" { + err := AWSUpdatePrivateIp(IP, true) + if err != nil { + tk.LogIt(tk.LogError, "aws lb-rule vip %s add failed. err: %v\n", IP.String(), err) + return err + } + } if loxinlp.AddAddrNoHook(IP.String()+"/32", "lo") != 0 { tk.LogIt(tk.LogError, "nat lb-rule vip %s:%s add failed\n", IP.String(), "lo") } else { diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go new file mode 100644 index 000000000..d6e006525 --- /dev/null +++ b/pkg/loxinet/utils_aws.go @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2023 NetLOX Inc + * + * 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 loxinet + +import ( + "context" + "errors" + "fmt" + "io" + "net" + "time" + + "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" + "github.com/aws/aws-sdk-go-v2/service/ec2" + "github.com/aws/aws-sdk-go-v2/service/ec2/types" + tk "github.com/loxilb-io/loxilib" +) + +var ( + imdsClient *imds.Client + ec2Client *ec2.Client +) + +func AWSGetInstanceIDInfo() (string, error) { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + defer cancel() + resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ + Path: "instance-id", + }) + if err != nil { + return "", err + } + + instanceID, err := io.ReadAll(resp.Content) + if err != nil { + return "", err + } + + return string(instanceID), nil +} + +func AWSGetNetworkInterface(instanceID string, vIP net.IP) (string, error) { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*5)) + defer cancel() + + filterStr := "attachment.instance-id" + output, err := ec2Client.DescribeNetworkInterfaces(ctx, &ec2.DescribeNetworkInterfacesInput{ + Filters: []types.Filter{ + {Name: &filterStr, Values: []string{instanceID}}, + }, + }) + if err != nil { + return "", err + } + + for _, i := range output.NetworkInterfaces { + path := fmt.Sprintf("network/interfaces/macs/%s/subnet-ipv4-cidr-block", *i.MacAddress) + cidr, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ + Path: path, + }) + if err != nil { + continue + } + + b, err := io.ReadAll(cidr.Content) + if err != nil { + continue + } + + _, ips, err := net.ParseCIDR(string(b)) + if err != nil { + continue + } + + if ips.Contains(vIP) { + if i.NetworkInterfaceId != nil { + return *i.NetworkInterfaceId, nil + } + } + } + + return "", errors.New("not found interface") +} + +func AWSCreatePrivateIp(ni string, vIP net.IP) error { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + defer cancel() + + input := &ec2.AssignPrivateIpAddressesInput{ + NetworkInterfaceId: &ni, + PrivateIpAddresses: []string{vIP.String()}, + } + _, err := ec2Client.AssignPrivateIpAddresses(ctx, input) + if err != nil { + return err + } + + return nil +} + +func AWSDeletePrivateIp(ni string, vIP net.IP) error { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + defer cancel() + + input := &ec2.UnassignPrivateIpAddressesInput{ + NetworkInterfaceId: &ni, + PrivateIpAddresses: []string{vIP.String()}, + } + _, err := ec2Client.UnassignPrivateIpAddresses(ctx, input) + if err != nil { + return err + } + + return nil +} + +func AWSUpdatePrivateIp(vIP net.IP, add bool) error { + instanceID, err := AWSGetInstanceIDInfo() + if err != nil { + tk.LogIt(tk.LogError, "AWS get instance failed: %v\n", err) + return err + } + + niID, err := AWSGetNetworkInterface(instanceID, vIP) + if err != nil { + tk.LogIt(tk.LogError, "AWS get network interface failed: %v\n", err) + return err + } + + if !add { + return AWSDeletePrivateIp(niID, vIP) + } + + return AWSCreatePrivateIp(niID, vIP) +} + +func AWSApiInit() error { + // Using the SDK's default configuration, loading additional config + // and credentials values from the environment variables, shared + // credentials, and shared configuration files + cfg, err := config.LoadDefaultConfig(context.TODO()) + if err != nil { + return err + } + + // Using the Config value, create the DynamoDB client + imdsClient = imds.NewFromConfig(cfg) + ec2Client = ec2.NewFromConfig(cfg) + + tk.LogIt(tk.LogInfo, "AWS API init\n") + return nil +} From c5ceba612d5b6b7342cdda4e6ca6d69d743b778b Mon Sep 17 00:00:00 2001 From: backguynn Date: Sun, 14 Apr 2024 16:30:58 +0900 Subject: [PATCH 002/171] add mh.cloudLabel for aws --- pkg/loxinet/loxinet.go | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/pkg/loxinet/loxinet.go b/pkg/loxinet/loxinet.go index 75b66182a..8715dec48 100644 --- a/pkg/loxinet/loxinet.go +++ b/pkg/loxinet/loxinet.go @@ -59,26 +59,27 @@ const ( ) type loxiNetH struct { - dpEbpf *DpEbpfH - dp *DpH - zn *ZoneH - zr *Zone - mtx sync.RWMutex - ticker *time.Ticker - tDone chan bool - sigCh chan os.Signal - wg sync.WaitGroup - bgp *GoBgpH - sumDis bool - pProbe bool - has *CIStateH - logger *tk.Logger - ready bool - self int - rssEn bool - eHooks bool - locVIP bool - pFile *os.File + dpEbpf *DpEbpfH + dp *DpH + zn *ZoneH + zr *Zone + mtx sync.RWMutex + ticker *time.Ticker + tDone chan bool + sigCh chan os.Signal + wg sync.WaitGroup + bgp *GoBgpH + sumDis bool + pProbe bool + has *CIStateH + logger *tk.Logger + ready bool + self int + rssEn bool + eHooks bool + locVIP bool + cloudLabel string + pFile *os.File } // NodeWalker - an implementation of node walker interface @@ -216,6 +217,7 @@ func loxiNetInit() { mh.sumDis = opts.Opts.CSumDisable mh.pProbe = opts.Opts.PassiveEPProbe mh.locVIP = opts.Opts.LocalVIP + mh.cloudLabel = opts.Opts.Cloud mh.sigCh = make(chan os.Signal, 5) signal.Notify(mh.sigCh, os.Interrupt, syscall.SIGCHLD, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM) From 777ae83290f39eedbd6df449245ffbb7e69179c3 Mon Sep 17 00:00:00 2001 From: backguynn Date: Sun, 14 Apr 2024 18:25:07 +0900 Subject: [PATCH 003/171] add option (re-assign private ip address) --- pkg/loxinet/utils_aws.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index d6e006525..db830f9ee 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -101,9 +101,11 @@ func AWSCreatePrivateIp(ni string, vIP net.IP) error { ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) defer cancel() + allowReassign := true input := &ec2.AssignPrivateIpAddressesInput{ NetworkInterfaceId: &ni, PrivateIpAddresses: []string{vIP.String()}, + AllowReassignment: &allowReassign, } _, err := ec2Client.AssignPrivateIpAddresses(ctx, input) if err != nil { From 5123cc7906a5227268200720fe82a5923541c4f0 Mon Sep 17 00:00:00 2001 From: backguynn Date: Tue, 30 Apr 2024 18:05:35 +0900 Subject: [PATCH 004/171] for support ncloud --- pkg/loxinet/utils_naver.go | 228 +++++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 pkg/loxinet/utils_naver.go diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go new file mode 100644 index 000000000..88c968e25 --- /dev/null +++ b/pkg/loxinet/utils_naver.go @@ -0,0 +1,228 @@ +/* + * Copyright (c) 2023 NetLOX Inc + * + * 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 loxinet + +import ( + "crypto/hmac" + "crypto/sha256" + "encoding/base64" + "fmt" + "io" + "net" + "net/http" + "os" + "os/user" + "strconv" + "strings" + "time" + + tk "github.com/loxilb-io/loxilib" +) + +var ( + nClient *NcloudClient +) + +type NcloudConfig struct { + AccessKey string + SecretKey string +} + +type NcloudClient struct { + config *NcloudConfig + client http.Client + serverURL string +} + +func (n *NcloudClient) NcloudGetMetadataInterfaceNo() ([]string, error) { + metadataURL := "http://169.254.169.254" + urls := "/latest/meta-data/networkInterfaceNoList" + req, err := http.NewRequest(http.MethodGet, metadataURL+urls, nil) + if err != nil { + return nil, err + } + + n.setHeaders(req, urls) + + res, err := n.client.Do(req) + if err != nil { + return nil, err + } + + defer res.Body.Close() + resBody, err := io.ReadAll(res.Body) + if err != nil { + return nil, err + } + + return strings.Split(string(resBody), "\n"), nil +} + +func (n *NcloudClient) NcloudGetMetadataInterfaceID() (string, error) { + metadataURL := "http://169.254.169.254" + urls := fmt.Sprintf("%s/%d", "/latest/meta-data/networkInterfaceNoList/0") + req, err := http.NewRequest(http.MethodGet, metadataURL+urls, nil) + if err != nil { + return "", err + } + + n.setHeaders(req, urls) + res, err := n.client.Do(req) + if err != nil { + return "", err + } + + defer res.Body.Close() + resBody, err := io.ReadAll(res.Body) + if err != nil { + return "", err + } + + return strings.TrimSpace(string(resBody)), nil +} + +func (n *NcloudClient) NcloudCreatePrivateIp(ni string, vIP net.IP) error { + urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s&allowReassign=yes", "/vserver/v2/assignSecondaryIps", ni, vIP.String()) + req, err := http.NewRequest(http.MethodGet, n.serverURL+urls, nil) + if err != nil { + return err + } + + n.setHeaders(req, urls) + res, err := n.client.Do(req) + if err != nil { + return err + } + + defer res.Body.Close() + _, err = io.ReadAll(res.Body) + if err != nil { + return err + } + + return nil +} + +func (n *NcloudClient) NcloudDeletePrivateIp(ni string, vIP net.IP) error { + urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s", "/vserver/v2/unassignSecondaryIps", ni, vIP.String()) + req, err := http.NewRequest(http.MethodGet, n.serverURL+urls, nil) + if err != nil { + return err + } + + n.setHeaders(req, urls) + res, err := n.client.Do(req) + if err != nil { + return err + } + + defer res.Body.Close() + _, err = io.ReadAll(res.Body) + if err != nil { + return err + } + + return nil +} + +func (n *NcloudClient) NcloudUpdatePrivateIp(vIP net.IP, add bool) error { + niID, err := n.NcloudGetMetadataInterfaceID() + if err != nil { + tk.LogIt(tk.LogError, "AWS get instance failed: %v\n", err) + return err + } + + if !add { + return n.NcloudDeletePrivateIp(niID, vIP) + } + + return n.NcloudCreatePrivateIp(niID, vIP) +} + +func (n *NcloudClient) getUnixMilliTimeString() string { + currentTime := time.Now().UnixMilli() + return strconv.FormatInt(currentTime, 10) +} + +func (n *NcloudClient) createSignature(method string, urls string, timestamp string) string { + message := fmt.Sprintf("%s %s\n%s\n%s", method, urls, timestamp, n.config.AccessKey) + + hmac256 := hmac.New(sha256.New, []byte(n.config.SecretKey)) + hmac256.Write([]byte(message)) + hmacSum := hmac256.Sum(nil) + + return base64.StdEncoding.EncodeToString(hmacSum) +} + +func (n *NcloudClient) setHeaders(req *http.Request, urls string) { + timestamp := n.getUnixMilliTimeString() + signature := n.createSignature(http.MethodGet, urls, timestamp) + req.Header.Set("x-ncp-apigw-timestamp", timestamp) + req.Header.Set("x-ncp-iam-access-key", n.config.AccessKey) + req.Header.Set("x-ncp-apigw-signature-v2", signature) +} + +func NcloudApiInit() error { + cfg, err := loadDefaultConfig() + if err != nil { + return err + } + + // Using the Config value, create the DynamoDB client + nClient = newFromConfig(cfg) + + tk.LogIt(tk.LogInfo, "NCloud API init\n") + return nil +} + +func newFromConfig(cfg *NcloudConfig) *NcloudClient { + return &NcloudClient{ + config: cfg, + client: http.Client{}, + serverURL: "https://ncloud.apigw.ntruss.com", + } +} + +func loadDefaultConfig() (*NcloudConfig, error) { + var ncloudConfig NcloudConfig + + user, err := user.Current() + if err != nil { + return nil, err + } + + path := user.HomeDir + "/.ncloud/credential" + b, err := os.ReadFile(path) + if err != nil { + return nil, err + } + + credentials := strings.Split(string(b), "\n") + for _, credential := range credentials { + keyValues := strings.Split(credential, "=") + if strings.Contains(keyValues[0], "ncloud_access_key_id") { + ncloudConfig.AccessKey = strings.TrimSpace(keyValues[1]) + } else if strings.Contains(keyValues[0], "ncloud_secret_access_key") { + ncloudConfig.SecretKey = strings.TrimSpace(keyValues[1]) + } + } + if ncloudConfig.AccessKey == "" || ncloudConfig.SecretKey == "" { + return nil, fmt.Errorf("failed to get access key or secret key") + } + + return &ncloudConfig, nil +} From 7f54c12df0e1030922da2f6c3d8315c54c580ceb Mon Sep 17 00:00:00 2001 From: backguynn Date: Thu, 2 May 2024 15:20:04 +0900 Subject: [PATCH 005/171] support ncloud --- go.mod | 15 ++++++++++++ go.sum | 32 ++++++++++++++++++++++++++ options/options.go | 2 +- pkg/loxinet/loxinet.go | 2 ++ pkg/loxinet/rules.go | 11 +++++++++ pkg/loxinet/utils_naver.go | 47 ++++++++++++++++++++++++++++++++------ 6 files changed, 101 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index 64e1de398..380630141 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,9 @@ go 1.21 toolchain go1.21.5 require ( + github.com/aws/aws-sdk-go-v2/config v1.27.11 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.1 github.com/go-openapi/errors v0.20.3 github.com/go-openapi/loads v0.21.2 github.com/go-openapi/runtime v0.24.1 @@ -29,6 +32,17 @@ require ( ) require ( + github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect + github.com/aws/smithy-go v1.20.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect @@ -39,6 +53,7 @@ require ( github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/imdario/mergo v0.3.6 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/loxilb-io/sctp v0.0.0-20230519081703-6d1baec82fd4 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect diff --git a/go.sum b/go.sum index 1f6772602..fd9f60886 100644 --- a/go.sum +++ b/go.sum @@ -43,6 +43,34 @@ github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk5 github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= +github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA= +github.com/aws/aws-sdk-go-v2/config v1.27.11/go.mod h1:SMsV78RIOYdve1vf36z8LmnszlRWkwMQtomCAI0/mIE= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11 h1:YuIB1dJNf1Re822rriUOTxopaHHvIq0l/pX3fwO+Tzs= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6EKL+NcD7LG3dpKGMV4SShgo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.1 h1:ZwDFKZ40MQyVmHAAEmSe63FPKkMhNO//Yom+WvdszfA= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.1/go.mod h1:xejKuuRDjz6z5OqyeLsz01MlOqqW7CqpAB4PabNvpu8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/gxJBcSWDMZlgyFUM962F51A5CRhDLbxLdmo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 h1:vN8hEbpRnL7+Hopy9dzmRle1xmDc7o8tmY0klsr175w= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 h1:Jux+gDDyi1Lruk+KHF91tK2KCuY61kzoCpvtvJJBtOE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= +github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= +github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -228,6 +256,10 @@ github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= diff --git a/options/options.go b/options/options.go index e0676e5e1..5904a5ff2 100644 --- a/options/options.go +++ b/options/options.go @@ -32,5 +32,5 @@ var Opts struct { IPVSCompat bool `long:"ipvs-compat" description:"Enable ipvs-compat(experimental)"` FallBack bool `long:"fallback" description:"Fallback to system default networking(experimental)"` LocalVIP bool `long:"localvip" description:"support vip availability from lb node(experimental)"` - Cloud string `long:"cloud" description:"cloud type if any e.g aws" default:"on-prem"` + Cloud string `long:"cloud" description:"cloud type if any e.g aws,ncloud" default:"on-prem"` } diff --git a/pkg/loxinet/loxinet.go b/pkg/loxinet/loxinet.go index 8715dec48..52efb7355 100644 --- a/pkg/loxinet/loxinet.go +++ b/pkg/loxinet/loxinet.go @@ -223,6 +223,8 @@ func loxiNetInit() { if mh.cloudLabel == "aws" { AWSApiInit() + } else if mh.cloudLabel == "ncloud" { + NcloudApiInit() } // Check if profiling is enabled diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index 6fe89393f..2feb987a6 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -1535,6 +1535,11 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) { if err != nil { tk.LogIt(tk.LogError, "aws lb-rule vip %s delete failed. err: %v\n", sNetAddr.IP.String(), err) } + } else if mh.cloudLabel == "ncloud" { + err := nClient.NcloudUpdatePrivateIp(sNetAddr.IP, false) + if err != nil { + tk.LogIt(tk.LogError, "ncloud lb-rule vip %s delete failed. err: %v\n", sNetAddr.IP.String(), err) + } } } dev := fmt.Sprintf("llb-rule-%s", sNetAddr.IP.String()) @@ -2637,6 +2642,12 @@ func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { tk.LogIt(tk.LogError, "aws lb-rule vip %s add failed. err: %v\n", IP.String(), err) return err } + } else if mh.cloudLabel == "ncloud" { + err := nClient.NcloudUpdatePrivateIp(IP, true) + if err != nil { + tk.LogIt(tk.LogError, "ncloud lb-rule vip %s add failed. err: %v\n", IP.String(), err) + return err + } } if loxinlp.AddAddrNoHook(IP.String()+"/32", "lo") != 0 { tk.LogIt(tk.LogError, "nat lb-rule vip %s:%s add failed\n", IP.String(), "lo") diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go index 88c968e25..7abc95cba 100644 --- a/pkg/loxinet/utils_naver.go +++ b/pkg/loxinet/utils_naver.go @@ -20,6 +20,7 @@ import ( "crypto/hmac" "crypto/sha256" "encoding/base64" + "encoding/json" "fmt" "io" "net" @@ -44,7 +45,7 @@ type NcloudConfig struct { type NcloudClient struct { config *NcloudConfig - client http.Client + client *http.Client serverURL string } @@ -96,7 +97,7 @@ func (n *NcloudClient) NcloudGetMetadataInterfaceID() (string, error) { } func (n *NcloudClient) NcloudCreatePrivateIp(ni string, vIP net.IP) error { - urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s&allowReassign=yes", "/vserver/v2/assignSecondaryIps", ni, vIP.String()) + urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s&allowReassign=yes&responseFormatType=json", "/vserver/v2/assignSecondaryIps", ni, vIP.String()) req, err := http.NewRequest(http.MethodGet, n.serverURL+urls, nil) if err != nil { return err @@ -109,16 +110,32 @@ func (n *NcloudClient) NcloudCreatePrivateIp(ni string, vIP net.IP) error { } defer res.Body.Close() - _, err = io.ReadAll(res.Body) + respBody, err := io.ReadAll(res.Body) if err != nil { return err } + type AssignSecondaryIpsResponse struct { + ReturnMessage string `json:"returnMessage"` + } + type ncloudResponse struct { + AssignSecondaryIpsResponse AssignSecondaryIpsResponse `json:"assignSecondaryIpsResponse"` + } + + checkReturn := ncloudResponse{} + if err := json.Unmarshal(respBody, &checkReturn); err != nil { + return err + } + + if checkReturn.AssignSecondaryIpsResponse.ReturnMessage != "success" { + return fmt.Errorf(string(respBody)) + } + return nil } func (n *NcloudClient) NcloudDeletePrivateIp(ni string, vIP net.IP) error { - urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s", "/vserver/v2/unassignSecondaryIps", ni, vIP.String()) + urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s&responseFormatType=json", "/vserver/v2/unassignSecondaryIps", ni, vIP.String()) req, err := http.NewRequest(http.MethodGet, n.serverURL+urls, nil) if err != nil { return err @@ -131,18 +148,34 @@ func (n *NcloudClient) NcloudDeletePrivateIp(ni string, vIP net.IP) error { } defer res.Body.Close() - _, err = io.ReadAll(res.Body) + respBody, err := io.ReadAll(res.Body) if err != nil { return err } + type UnassignSecondaryIpsResponse struct { + ReturnMessage string `json:"returnMessage"` + } + type ncloudResponse struct { + UnassignSecondaryIpsResponse UnassignSecondaryIpsResponse `json:"unassignSecondaryIpsResponse"` + } + + checkReturn := ncloudResponse{} + if err := json.Unmarshal(respBody, &checkReturn); err != nil { + return err + } + + if checkReturn.UnassignSecondaryIpsResponse.ReturnMessage != "success" { + return fmt.Errorf(string(respBody)) + } + return nil } func (n *NcloudClient) NcloudUpdatePrivateIp(vIP net.IP, add bool) error { niID, err := n.NcloudGetMetadataInterfaceID() if err != nil { - tk.LogIt(tk.LogError, "AWS get instance failed: %v\n", err) + tk.LogIt(tk.LogError, "NCloud get instance failed: %v\n", err) return err } @@ -192,7 +225,7 @@ func NcloudApiInit() error { func newFromConfig(cfg *NcloudConfig) *NcloudClient { return &NcloudClient{ config: cfg, - client: http.Client{}, + client: &http.Client{}, serverURL: "https://ncloud.apigw.ntruss.com", } } From a256918c9774c99d269f3deac921bc8b6ec54ef2 Mon Sep 17 00:00:00 2001 From: backguynn Date: Thu, 2 May 2024 17:18:02 +0900 Subject: [PATCH 006/171] add allowReassign option --- pkg/loxinet/utils_naver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go index 7abc95cba..0a5309dfb 100644 --- a/pkg/loxinet/utils_naver.go +++ b/pkg/loxinet/utils_naver.go @@ -97,7 +97,7 @@ func (n *NcloudClient) NcloudGetMetadataInterfaceID() (string, error) { } func (n *NcloudClient) NcloudCreatePrivateIp(ni string, vIP net.IP) error { - urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s&allowReassign=yes&responseFormatType=json", "/vserver/v2/assignSecondaryIps", ni, vIP.String()) + urls := fmt.Sprintf("%s?networkInterfaceNo=%s&secondaryIpList.1=%s&allowReassign=true&responseFormatType=json", "/vserver/v2/assignSecondaryIps", ni, vIP.String()) req, err := http.NewRequest(http.MethodGet, n.serverURL+urls, nil) if err != nil { return err From 1995ff0b17fc515cad472a5a58850b82cccffd1b Mon Sep 17 00:00:00 2001 From: backguynn Date: Thu, 2 May 2024 17:43:55 +0900 Subject: [PATCH 007/171] modify incorrect url --- pkg/loxinet/utils_naver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go index 0a5309dfb..579f57607 100644 --- a/pkg/loxinet/utils_naver.go +++ b/pkg/loxinet/utils_naver.go @@ -75,7 +75,7 @@ func (n *NcloudClient) NcloudGetMetadataInterfaceNo() ([]string, error) { func (n *NcloudClient) NcloudGetMetadataInterfaceID() (string, error) { metadataURL := "http://169.254.169.254" - urls := fmt.Sprintf("%s/%d", "/latest/meta-data/networkInterfaceNoList/0") + urls := fmt.Sprintf("%s/%d", "/latest/meta-data/networkInterfaceNoList", 0) req, err := http.NewRequest(http.MethodGet, metadataURL+urls, nil) if err != nil { return "", err From 19df2d51f206a54ff87db64181d83712f0848bd5 Mon Sep 17 00:00:00 2001 From: backguynn Date: Thu, 2 May 2024 18:06:17 +0900 Subject: [PATCH 008/171] modify incorrect url --- pkg/loxinet/utils_naver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go index 579f57607..8080af762 100644 --- a/pkg/loxinet/utils_naver.go +++ b/pkg/loxinet/utils_naver.go @@ -75,7 +75,7 @@ func (n *NcloudClient) NcloudGetMetadataInterfaceNo() ([]string, error) { func (n *NcloudClient) NcloudGetMetadataInterfaceID() (string, error) { metadataURL := "http://169.254.169.254" - urls := fmt.Sprintf("%s/%d", "/latest/meta-data/networkInterfaceNoList", 0) + urls := "/latest/meta-data/networkInterfaceNoList/0" req, err := http.NewRequest(http.MethodGet, metadataURL+urls, nil) if err != nil { return "", err From e016f219dc078c8a9a22fd82ab7cd0ecd1440ac4 Mon Sep 17 00:00:00 2001 From: backguynn Date: Fri, 3 May 2024 11:05:12 +0900 Subject: [PATCH 009/171] nclient have to check credential --- pkg/loxinet/utils_naver.go | 40 ++++++++++++++------------------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go index 8080af762..5484d9b92 100644 --- a/pkg/loxinet/utils_naver.go +++ b/pkg/loxinet/utils_naver.go @@ -49,30 +49,6 @@ type NcloudClient struct { serverURL string } -func (n *NcloudClient) NcloudGetMetadataInterfaceNo() ([]string, error) { - metadataURL := "http://169.254.169.254" - urls := "/latest/meta-data/networkInterfaceNoList" - req, err := http.NewRequest(http.MethodGet, metadataURL+urls, nil) - if err != nil { - return nil, err - } - - n.setHeaders(req, urls) - - res, err := n.client.Do(req) - if err != nil { - return nil, err - } - - defer res.Body.Close() - resBody, err := io.ReadAll(res.Body) - if err != nil { - return nil, err - } - - return strings.Split(string(resBody), "\n"), nil -} - func (n *NcloudClient) NcloudGetMetadataInterfaceID() (string, error) { metadataURL := "http://169.254.169.254" urls := "/latest/meta-data/networkInterfaceNoList/0" @@ -192,6 +168,7 @@ func (n *NcloudClient) getUnixMilliTimeString() string { } func (n *NcloudClient) createSignature(method string, urls string, timestamp string) string { + n.checkNcloudCredential() message := fmt.Sprintf("%s %s\n%s\n%s", method, urls, timestamp, n.config.AccessKey) hmac256 := hmac.New(sha256.New, []byte(n.config.SecretKey)) @@ -209,10 +186,23 @@ func (n *NcloudClient) setHeaders(req *http.Request, urls string) { req.Header.Set("x-ncp-apigw-signature-v2", signature) } +func (n *NcloudClient) checkNcloudCredential() { + if n.config != nil { + return + } + + cfg, err := loadDefaultConfig() + if err != nil { + tk.LogIt(tk.LogInfo, "failed to get NCloud credential") + return + } + n.config = cfg +} + func NcloudApiInit() error { cfg, err := loadDefaultConfig() if err != nil { - return err + tk.LogIt(tk.LogInfo, "failed to get NCloud credential") } // Using the Config value, create the DynamoDB client From 14c0d8f50925dc5c1cfc5e8c2476aa86419ad0f8 Mon Sep 17 00:00:00 2001 From: backguynn Date: Thu, 9 May 2024 13:39:42 +0900 Subject: [PATCH 010/171] modify to check ncloud config --- pkg/loxinet/utils_naver.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go index 5484d9b92..9451871cc 100644 --- a/pkg/loxinet/utils_naver.go +++ b/pkg/loxinet/utils_naver.go @@ -149,6 +149,10 @@ func (n *NcloudClient) NcloudDeletePrivateIp(ni string, vIP net.IP) error { } func (n *NcloudClient) NcloudUpdatePrivateIp(vIP net.IP, add bool) error { + if n.checkNcloudCredential(); n.config == nil { + return fmt.Errorf("failed to load Ncloud credential") + } + niID, err := n.NcloudGetMetadataInterfaceID() if err != nil { tk.LogIt(tk.LogError, "NCloud get instance failed: %v\n", err) @@ -168,7 +172,6 @@ func (n *NcloudClient) getUnixMilliTimeString() string { } func (n *NcloudClient) createSignature(method string, urls string, timestamp string) string { - n.checkNcloudCredential() message := fmt.Sprintf("%s %s\n%s\n%s", method, urls, timestamp, n.config.AccessKey) hmac256 := hmac.New(sha256.New, []byte(n.config.SecretKey)) From fb87886d51bf3e4ddec19bd70803bd6e7b0a57a4 Mon Sep 17 00:00:00 2001 From: backguynn Date: Mon, 13 May 2024 15:13:36 +0900 Subject: [PATCH 011/171] modify log --- pkg/loxinet/utils_naver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_naver.go b/pkg/loxinet/utils_naver.go index 9451871cc..28945d0f6 100644 --- a/pkg/loxinet/utils_naver.go +++ b/pkg/loxinet/utils_naver.go @@ -205,7 +205,7 @@ func (n *NcloudClient) checkNcloudCredential() { func NcloudApiInit() error { cfg, err := loadDefaultConfig() if err != nil { - tk.LogIt(tk.LogInfo, "failed to get NCloud credential") + tk.LogIt(tk.LogInfo, "failed to get NCloud credential. error: %s", err.Error()) } // Using the Config value, create the DynamoDB client From a836c19ca8571da50718b27c36eb087ce53f5ac9 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 23 May 2024 21:35:05 +0900 Subject: [PATCH 012/171] gh-681 base framework for elasticIP reassociation --- api/api.go | 12 ++++++++---- pkg/loxinet/rules.go | 15 ++++++++++++++- pkg/loxinet/utils_aws.go | 4 ++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/api/api.go b/api/api.go index fa08237d6..1e3f25cc8 100644 --- a/api/api.go +++ b/api/api.go @@ -117,11 +117,15 @@ func RunAPIServer() { server.ConfigureAPI() // API server host list server.Host = options.Opts.Host - server.TLSHost = options.Opts.TLSHost - server.TLSCertificateKey = options.Opts.TLSCertificateKey - server.TLSCertificate = options.Opts.TLSCertificate server.Port = options.Opts.Port - server.TLSPort = options.Opts.TLSPort + + if options.Opts.TLS { + server.TLSHost = options.Opts.TLSHost + server.TLSCertificateKey = options.Opts.TLSCertificateKey + server.TLSCertificate = options.Opts.TLSCertificate + server.TLSPort = options.Opts.TLSPort + } + api.ServerShutdown = func() { waitApiServerShutOk() os.Exit(0) diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index 2feb987a6..2b2aec0f6 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -276,6 +276,7 @@ type ruleEnt struct { sT time.Time iTo uint32 act ruleAct + privIP net.IP secIP []ruleNatSIP stat ruleStat name string @@ -1443,6 +1444,7 @@ func (R *RuleH) AddNatLbRule(serv cmn.LbServiceArg, servSecIPs []cmn.LbSecIPArg, r.iTo = serv.InactiveTimeout r.bgp = serv.Bgp r.ci = cmn.CIDefault + r.privIP, _ = R.RuleVIP2PrivIP(sNetAddr.IP) R.FoldRecursiveEPs(r) @@ -2316,7 +2318,11 @@ func (r *ruleEnt) Nat2DP(work DpWorkT) int { nWork.Work = work nWork.Status = &r.sync nWork.ZoneNum = r.zone.ZoneNum - nWork.ServiceIP = r.tuples.l3Dst.addr.IP.Mask(r.tuples.l3Dst.addr.Mask) + if r.privIP == nil || r.privIP.IsUnspecified() { + nWork.ServiceIP = r.tuples.l3Dst.addr.IP.Mask(r.tuples.l3Dst.addr.Mask) + } else { + nWork.ServiceIP = r.privIP + } nWork.L4Port = r.tuples.l4Dst.val nWork.Proto = r.tuples.l4Prot.val nWork.Mark = int(r.ruleNum) @@ -2700,3 +2706,10 @@ func (R *RuleH) RuleVIPSyncToClusterState() { } } } + +func (R *RuleH) RuleVIP2PrivIP(vip net.IP) (net.IP, error) { + if mh.cloudLabel == "aws" { + return AWSPrivateIpMapper(vip) + } + return nil, nil +} diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index db830f9ee..d65fca9aa 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -167,3 +167,7 @@ func AWSApiInit() error { tk.LogIt(tk.LogInfo, "AWS API init\n") return nil } + +func AWSPrivateIpMapper(vip net.IP) (net.IP, error) { + return vip, nil +} From 299465d7510a777d040696d17b41eb132bae4730 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 01:14:12 +0900 Subject: [PATCH 013/171] gh-681: initial support for inherting subnet,interfaces and attachments after AWS inter-AZ HA --- api/restapi/server.go | 3 +- options/options.go | 1 + pkg/loxinet/rules.go | 4 +- pkg/loxinet/utils_aws.go | 150 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 154 insertions(+), 4 deletions(-) diff --git a/api/restapi/server.go b/api/restapi/server.go index 5b9e1b162..ebfb66e97 100644 --- a/api/restapi/server.go +++ b/api/restapi/server.go @@ -8,6 +8,7 @@ import ( "crypto/x509" "errors" "fmt" + "github.com/loxilb-io/loxilb/options" "log" "net" "net/http" @@ -226,7 +227,7 @@ func (s *Server) Serve() (err error) { }(s.httpServerL) } - if s.hasScheme(schemeHTTPS) { + if s.hasScheme(schemeHTTPS) && options.Opts.TLS { httpsServer := new(http.Server) httpsServer.MaxHeaderBytes = int(s.MaxHeaderSize) httpsServer.ReadTimeout = s.TLSReadTimeout diff --git a/options/options.go b/options/options.go index 5904a5ff2..8c80a9f51 100644 --- a/options/options.go +++ b/options/options.go @@ -12,6 +12,7 @@ var Opts struct { NoNlp bool `short:"n" long:"nonlp" description:"Do not register with nlp"` Host string `long:"host" description:"the IP to listen on" default:"0.0.0.0" env:"HOST"` Port int `long:"port" description:"the port to listen on for insecure connections" default:"11111" env:"PORT"` + TLS bool `long:"tls" description:"enable TLS " env:"TLS"` TLSHost string `long:"tls-host" description:"the IP to listen on for tls, when not specified it's the same as --host" env:"TLS_HOST"` TLSPort int `long:"tls-port" description:"the port to listen on for secure connections" default:"8091" env:"TLS_PORT"` TLSCertificate flags.Filename `long:"tls-certificate" description:"the certificate to use for secure connections" default:"/opt/loxilb/cert/server.crt" env:"TLS_CERTIFICATE"` diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index 2b2aec0f6..c7b3535ce 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -1533,7 +1533,7 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) { if utils.IsIPHostAddr(sNetAddr.IP.String()) { loxinlp.DelAddrNoHook(sNetAddr.IP.String()+"/32", "lo") if mh.cloudLabel == "aws" { - err := AWSUpdatePrivateIp(sNetAddr.IP, false) + err := AWSUpdatePrivateIP(sNetAddr.IP, false) if err != nil { tk.LogIt(tk.LogError, "aws lb-rule vip %s delete failed. err: %v\n", sNetAddr.IP.String(), err) } @@ -2643,7 +2643,7 @@ func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { if ev == 0 { if !utils.IsIPHostAddr(IP.String()) { if mh.cloudLabel == "aws" { - err := AWSUpdatePrivateIp(IP, true) + err := AWSUpdatePrivateIP(IP, true) if err != nil { tk.LogIt(tk.LogError, "aws lb-rule vip %s add failed. err: %v\n", IP.String(), err) return err diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index d65fca9aa..ccf66b34b 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -54,6 +54,154 @@ func AWSGetInstanceIDInfo() (string, error) { return string(instanceID), nil } +func AWSGetInstanceVPCInfo() (string, error) { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + defer cancel() + resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ + Path: "mac", + }) + if err != nil { + return "", err + } + + mac, err := io.ReadAll(resp.Content) + if err != nil { + return "", err + } + + vpcPath := fmt.Sprintf("network/interfaces/macs/%s/vpc-id", string(mac)) + resp2, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ + Path: vpcPath, + }) + if err != nil { + return "", err + } + vpc, err := io.ReadAll(resp2.Content) + if err != nil { + return "", err + } + + return string(vpc), nil +} + +func AWSGetInstanceAvailabilityZone() (string, error) { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + defer cancel() + resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ + Path: "placement/availability-zone", + }) + if err != nil { + return "", err + } + + az, err := io.ReadAll(resp.Content) + if err != nil { + return "", err + } + + return string(az), nil +} + +func AWSPrepVIPNetwork() error { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*5)) + defer cancel() + + filterStr := "tag:loxiType" + output, err := ec2Client.DescribeNetworkInterfaces(ctx, &ec2.DescribeNetworkInterfacesInput{ + Filters: []types.Filter{ + {Name: &filterStr, Values: []string{"loxilb-eni"}}, + }, + }) + if err != nil { + fmt.Printf("no loxiType intf found \n") + return err + } + + subnets := []string{} + for _, intf := range output.NetworkInterfaces { + subnets = append(subnets, *intf.SubnetId) + _, err := ec2Client.DeleteNetworkInterface(ctx, &ec2.DeleteNetworkInterfaceInput{NetworkInterfaceId: intf.NetworkInterfaceId}) + if err != nil { + fmt.Printf("failed to delete intf (%s)\n", *intf.NetworkInterfaceId) + return err + } + } + + for _, subnet := range subnets { + _, err := ec2Client.DeleteSubnet(ctx, &ec2.DeleteSubnetInput{SubnetId: &subnet}) + if err != nil { + fmt.Printf("failed to delete subnet (%s)\n", subnet) + return err + } + } + + vpcID, err := AWSGetInstanceVPCInfo() + if err != nil { + fmt.Printf("failed to find vpcid for instance\n") + return nil + } + + fmt.Printf("vpcid for instance:%s\n", vpcID) + + azName, err := AWSGetInstanceAvailabilityZone() + if err != nil { + fmt.Printf("failed to find az for instance %v\n", vpcID) + return nil + } + fmt.Printf("AZ for instance:%s\n", azName) + + instanceID, err := AWSGetInstanceIDInfo() + if err != nil { + fmt.Printf("failed to find instanceID for instance %v\n", vpcID) + return nil + } + + cidrBlock := "123.123.123.0/28" + loxilbSubNetKey := "loxiType" + loxilbSubNetKeyVal := "loxilb-subnet" + subnetTag := types.Tag{Key: &loxilbSubNetKey, Value: &loxilbSubNetKeyVal} + subnetTags := []types.Tag{subnetTag} + subOutput, err := ec2Client.CreateSubnet(ctx, &ec2.CreateSubnetInput{ + VpcId: &vpcID, + AvailabilityZone: &azName, + CidrBlock: &cidrBlock, + TagSpecifications: []types.TagSpecification{{ResourceType: types.ResourceTypeSubnet, + Tags: subnetTags}, + }, + }) + if err != nil { + fmt.Printf("failed to create subnet for loxilb instance %v\n", vpcID) + return nil + } + + intfDesc := "loxilb-eni" + loxilbIntfKey := "loxiType" + loxilbIntfKeyVal := "loxilb-eni" + intfTag := types.Tag{Key: &loxilbIntfKey, Value: &loxilbIntfKeyVal} + intfTags := []types.Tag{intfTag} + intfOutput, err := ec2Client.CreateNetworkInterface(ctx, &ec2.CreateNetworkInterfaceInput{ + SubnetId: subOutput.Subnet.SubnetId, + Description: &intfDesc, + TagSpecifications: []types.TagSpecification{{ResourceType: types.ResourceTypeNetworkInterface, + Tags: intfTags}, + }, + }) + if err != nil { + fmt.Printf("failed to create interface for loxilb instance %v\n", vpcID) + return nil + } + + fmt.Printf("Create interface (%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, vpcID) + + devIdx := int32(1) + ec2Client.AttachNetworkInterface(ctx, &ec2.AttachNetworkInterfaceInput{DeviceIndex: &devIdx, + InstanceId: &instanceID, + NetworkInterfaceId: intfOutput.NetworkInterface.NetworkInterfaceId, + }) + + return nil +} + func AWSGetNetworkInterface(instanceID string, vIP net.IP) (string, error) { ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*5)) defer cancel() @@ -131,7 +279,7 @@ func AWSDeletePrivateIp(ni string, vIP net.IP) error { return nil } -func AWSUpdatePrivateIp(vIP net.IP, add bool) error { +func AWSUpdatePrivateIP(vIP net.IP, add bool) error { instanceID, err := AWSGetInstanceIDInfo() if err != nil { tk.LogIt(tk.LogError, "AWS get instance failed: %v\n", err) From b8a5caaed2de755216f88364245da2acb74b1718 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 01:49:16 +0900 Subject: [PATCH 014/171] gh-681: initial support for inherting subnet,interfaces and attachments after AWS inter-AZ HA --- pkg/loxinet/utils_aws.go | 51 ++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index ccf66b34b..a32bdf09d 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -103,7 +103,7 @@ func AWSGetInstanceAvailabilityZone() (string, error) { } func AWSPrepVIPNetwork() error { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*5)) + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) defer cancel() filterStr := "tag:loxiType" @@ -120,17 +120,38 @@ func AWSPrepVIPNetwork() error { subnets := []string{} for _, intf := range output.NetworkInterfaces { subnets = append(subnets, *intf.SubnetId) - _, err := ec2Client.DeleteNetworkInterface(ctx, &ec2.DeleteNetworkInterfaceInput{NetworkInterfaceId: intf.NetworkInterfaceId}) - if err != nil { - fmt.Printf("failed to delete intf (%s)\n", *intf.NetworkInterfaceId) - return err + if intf.Attachment != nil { + force := true + _, err := ec2Client.DetachNetworkInterface(ctx, &ec2.DetachNetworkInterfaceInput{AttachmentId: intf.Attachment.AttachmentId, Force: &force}) + if err != nil { + fmt.Printf("failed to detach intf (%s):%s\n", *intf.NetworkInterfaceId, err) + return err + } + } + loop := 20 + for loop > 0 { + ctx2, cancel2 := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + _, err2 := ec2Client.DeleteNetworkInterface(ctx2, &ec2.DeleteNetworkInterfaceInput{NetworkInterfaceId: intf.NetworkInterfaceId}) + cancel2() + if err2 != nil { + fmt.Printf("failed to delete intf (%s):%s\n", *intf.NetworkInterfaceId, err2) + time.Sleep(2 * time.Second) + loop-- + if loop <= 0 { + return err2 + } + continue + } + break } } + ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) + defer cancel3() for _, subnet := range subnets { - _, err := ec2Client.DeleteSubnet(ctx, &ec2.DeleteSubnetInput{SubnetId: &subnet}) + _, err := ec2Client.DeleteSubnet(ctx3, &ec2.DeleteSubnetInput{SubnetId: &subnet}) if err != nil { - fmt.Printf("failed to delete subnet (%s)\n", subnet) + fmt.Printf("failed to delete subnet (%s):%s\n", subnet, err) return err } } @@ -145,14 +166,14 @@ func AWSPrepVIPNetwork() error { azName, err := AWSGetInstanceAvailabilityZone() if err != nil { - fmt.Printf("failed to find az for instance %v\n", vpcID) + fmt.Printf("failed to find az for instance %v:%s\n", vpcID, err) return nil } fmt.Printf("AZ for instance:%s\n", azName) instanceID, err := AWSGetInstanceIDInfo() if err != nil { - fmt.Printf("failed to find instanceID for instance %v\n", vpcID) + fmt.Printf("failed to find instanceID for instance %v:%s\n", vpcID, err) return nil } @@ -170,7 +191,7 @@ func AWSPrepVIPNetwork() error { }, }) if err != nil { - fmt.Printf("failed to create subnet for loxilb instance %v\n", vpcID) + fmt.Printf("failed to create subnet for loxilb instance %v:%s\n", vpcID, err) return nil } @@ -187,17 +208,23 @@ func AWSPrepVIPNetwork() error { }, }) if err != nil { - fmt.Printf("failed to create interface for loxilb instance %v\n", vpcID) + fmt.Printf("failed to create interface for loxilb instance %v:%s\n", vpcID, err) return nil } fmt.Printf("Create interface (%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, vpcID) devIdx := int32(1) - ec2Client.AttachNetworkInterface(ctx, &ec2.AttachNetworkInterfaceInput{DeviceIndex: &devIdx, + aniOut, err := ec2Client.AttachNetworkInterface(ctx, &ec2.AttachNetworkInterfaceInput{DeviceIndex: &devIdx, InstanceId: &instanceID, NetworkInterfaceId: intfOutput.NetworkInterface.NetworkInterfaceId, }) + if err != nil { + fmt.Printf("failed to attach interface for loxilb instance %v:%s\n", vpcID, err) + return nil + } + + fmt.Printf("Attacfed interface (%d) for loxilb instance %v\n", *aniOut.NetworkCardIndex, vpcID) return nil } From b34adaa65495fb6cef4de3933067bed0cbdafed8 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 01:54:04 +0900 Subject: [PATCH 015/171] gh-681: initial support for inherting subnet,interfaces and attachments after AWS inter-AZ HA --- pkg/loxinet/utils_aws.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index a32bdf09d..d9e4b6e76 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -224,7 +224,7 @@ func AWSPrepVIPNetwork() error { return nil } - fmt.Printf("Attacfed interface (%d) for loxilb instance %v\n", *aniOut.NetworkCardIndex, vpcID) + fmt.Printf("Attached interface (%d) for loxilb instance %v\n", *aniOut.NetworkCardIndex, vpcID) return nil } From 4d6c640e97183bd342eba7132589dff933bd7831 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 09:52:14 +0900 Subject: [PATCH 016/171] gh-681: init certain objects like instanceID, VPCID, zone at api init --- pkg/loxinet/utils_aws.go | 69 ++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index d9e4b6e76..442deb742 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -20,20 +20,22 @@ import ( "context" "errors" "fmt" - "io" - "net" - "time" - "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" tk "github.com/loxilb-io/loxilib" + "io" + "net" + "time" ) var ( imdsClient *imds.Client ec2Client *ec2.Client + vpcID string + instanceID string + azName string ) func AWSGetInstanceIDInfo() (string, error) { @@ -113,7 +115,7 @@ func AWSPrepVIPNetwork() error { }, }) if err != nil { - fmt.Printf("no loxiType intf found \n") + tk.LogIt(tk.LogError, "no loxiType intf found\n") return err } @@ -124,7 +126,7 @@ func AWSPrepVIPNetwork() error { force := true _, err := ec2Client.DetachNetworkInterface(ctx, &ec2.DetachNetworkInterfaceInput{AttachmentId: intf.Attachment.AttachmentId, Force: &force}) if err != nil { - fmt.Printf("failed to detach intf (%s):%s\n", *intf.NetworkInterfaceId, err) + tk.LogIt(tk.LogError, "failed to detach intf (%s):%s\n", *intf.NetworkInterfaceId, err) return err } } @@ -134,7 +136,7 @@ func AWSPrepVIPNetwork() error { _, err2 := ec2Client.DeleteNetworkInterface(ctx2, &ec2.DeleteNetworkInterfaceInput{NetworkInterfaceId: intf.NetworkInterfaceId}) cancel2() if err2 != nil { - fmt.Printf("failed to delete intf (%s):%s\n", *intf.NetworkInterfaceId, err2) + tk.LogIt(tk.LogError, "failed to delete intf (%s):%s\n", *intf.NetworkInterfaceId, err2) time.Sleep(2 * time.Second) loop-- if loop <= 0 { @@ -151,32 +153,11 @@ func AWSPrepVIPNetwork() error { for _, subnet := range subnets { _, err := ec2Client.DeleteSubnet(ctx3, &ec2.DeleteSubnetInput{SubnetId: &subnet}) if err != nil { - fmt.Printf("failed to delete subnet (%s):%s\n", subnet, err) + tk.LogIt(tk.LogError, "failed to delete subnet (%s):%s\n", subnet, err) return err } } - vpcID, err := AWSGetInstanceVPCInfo() - if err != nil { - fmt.Printf("failed to find vpcid for instance\n") - return nil - } - - fmt.Printf("vpcid for instance:%s\n", vpcID) - - azName, err := AWSGetInstanceAvailabilityZone() - if err != nil { - fmt.Printf("failed to find az for instance %v:%s\n", vpcID, err) - return nil - } - fmt.Printf("AZ for instance:%s\n", azName) - - instanceID, err := AWSGetInstanceIDInfo() - if err != nil { - fmt.Printf("failed to find instanceID for instance %v:%s\n", vpcID, err) - return nil - } - cidrBlock := "123.123.123.0/28" loxilbSubNetKey := "loxiType" loxilbSubNetKeyVal := "loxilb-subnet" @@ -191,7 +172,7 @@ func AWSPrepVIPNetwork() error { }, }) if err != nil { - fmt.Printf("failed to create subnet for loxilb instance %v:%s\n", vpcID, err) + tk.LogIt(tk.LogError, "failed to create subnet for loxilb instance %v:%s\n", vpcID, err) return nil } @@ -208,11 +189,11 @@ func AWSPrepVIPNetwork() error { }, }) if err != nil { - fmt.Printf("failed to create interface for loxilb instance %v:%s\n", vpcID, err) + tk.LogIt(tk.LogError, "failed to create interface for loxilb instance %v:%s\n", vpcID, err) return nil } - fmt.Printf("Create interface (%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, vpcID) + tk.LogIt(tk.LogInfo, "Created interface (%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, vpcID) devIdx := int32(1) aniOut, err := ec2Client.AttachNetworkInterface(ctx, &ec2.AttachNetworkInterfaceInput{DeviceIndex: &devIdx, @@ -220,11 +201,11 @@ func AWSPrepVIPNetwork() error { NetworkInterfaceId: intfOutput.NetworkInterface.NetworkInterfaceId, }) if err != nil { - fmt.Printf("failed to attach interface for loxilb instance %v:%s\n", vpcID, err) + tk.LogIt(tk.LogError, "failed to attach interface for loxilb instance %v:%s\n", vpcID, err) return nil } - fmt.Printf("Attached interface (%d) for loxilb instance %v\n", *aniOut.NetworkCardIndex, vpcID) + tk.LogIt(tk.LogInfo, "Attached interface (%d) for loxilb instance %v\n", *aniOut.NetworkCardIndex, vpcID) return nil } @@ -339,7 +320,25 @@ func AWSApiInit() error { imdsClient = imds.NewFromConfig(cfg) ec2Client = ec2.NewFromConfig(cfg) - tk.LogIt(tk.LogInfo, "AWS API init\n") + vpcID, err = AWSGetInstanceVPCInfo() + if err != nil { + tk.LogIt(tk.LogError, "failed to find vpcid for instance\n") + return nil + } + + azName, err = AWSGetInstanceAvailabilityZone() + if err != nil { + tk.LogIt(tk.LogError, "failed to find az for instance %v:%s\n", vpcID, err) + return nil + } + + instanceID, err = AWSGetInstanceIDInfo() + if err != nil { + tk.LogIt(tk.LogError, "failed to find instanceID for instance %v:%s\n", vpcID, err) + return nil + } + + tk.LogIt(tk.LogInfo, "AWS API init - instance %s vpc %s az %s\n", instanceID, vpcID, instanceID) return nil } From 9d8cc1f2f6293f09627710708181e549a25d557f Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 10:31:35 +0900 Subject: [PATCH 017/171] gh-681: use cloudCIDR block as command-line argument --- options/options.go | 1 + pkg/loxinet/loxinet.go | 10 ++++++++-- pkg/loxinet/utils_aws.go | 35 +++++++++++++++++++++++++++++------ 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/options/options.go b/options/options.go index 8c80a9f51..ec2afe96d 100644 --- a/options/options.go +++ b/options/options.go @@ -34,4 +34,5 @@ var Opts struct { FallBack bool `long:"fallback" description:"Fallback to system default networking(experimental)"` LocalVIP bool `long:"localvip" description:"support vip availability from lb node(experimental)"` Cloud string `long:"cloud" description:"cloud type if any e.g aws,ncloud" default:"on-prem"` + CloudCIDRBlock string `long:"cloudcidrblock" description:"cloud implementations need VIP cidr blocks(experimental)"` } diff --git a/pkg/loxinet/loxinet.go b/pkg/loxinet/loxinet.go index 52efb7355..a47f18f5e 100644 --- a/pkg/loxinet/loxinet.go +++ b/pkg/loxinet/loxinet.go @@ -222,9 +222,15 @@ func loxiNetInit() { signal.Notify(mh.sigCh, os.Interrupt, syscall.SIGCHLD, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM) if mh.cloudLabel == "aws" { - AWSApiInit() + err := AWSApiInit(opts.Opts.CloudCIDRBlock) + if err != nil { + os.Exit(1) + } } else if mh.cloudLabel == "ncloud" { - NcloudApiInit() + err := NcloudApiInit() + if err != nil { + os.Exit(1) + } } // Check if profiling is enabled diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 442deb742..ae3bea155 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -36,6 +36,8 @@ var ( vpcID string instanceID string azName string + awsCIDRnet *net.IPNet + loxiEniID string ) func AWSGetInstanceIDInfo() (string, error) { @@ -105,6 +107,10 @@ func AWSGetInstanceAvailabilityZone() (string, error) { } func AWSPrepVIPNetwork() error { + if awsCIDRnet == nil { + return nil + } + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) defer cancel() @@ -158,7 +164,7 @@ func AWSPrepVIPNetwork() error { } } - cidrBlock := "123.123.123.0/28" + cidrBlock := awsCIDRnet.String() loxilbSubNetKey := "loxiType" loxilbSubNetKeyVal := "loxilb-subnet" subnetTag := types.Tag{Key: &loxilbSubNetKey, Value: &loxilbSubNetKeyVal} @@ -193,6 +199,8 @@ func AWSPrepVIPNetwork() error { return nil } + loxiEniID = *intfOutput.NetworkInterface.NetworkInterfaceId + tk.LogIt(tk.LogInfo, "Created interface (%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, vpcID) devIdx := int32(1) @@ -294,10 +302,16 @@ func AWSUpdatePrivateIP(vIP net.IP, add bool) error { return err } - niID, err := AWSGetNetworkInterface(instanceID, vIP) - if err != nil { - tk.LogIt(tk.LogError, "AWS get network interface failed: %v\n", err) - return err + niID := "" + + if awsCIDRnet == nil || loxiEniID == "" { + niID, err = AWSGetNetworkInterface(instanceID, vIP) + if err != nil { + tk.LogIt(tk.LogError, "AWS get network interface failed: %v\n", err) + return err + } + } else { + niID = loxiEniID } if !add { @@ -307,7 +321,8 @@ func AWSUpdatePrivateIP(vIP net.IP, add bool) error { return AWSCreatePrivateIp(niID, vIP) } -func AWSApiInit() error { +func AWSApiInit(cloudCIDRBlock string) error { + // Using the SDK's default configuration, loading additional config // and credentials values from the environment variables, shared // credentials, and shared configuration files @@ -316,6 +331,14 @@ func AWSApiInit() error { return err } + if cloudCIDRBlock != "" { + _, awsCIDRnet, err = net.ParseCIDR(cloudCIDRBlock) + if err != nil { + tk.LogIt(tk.LogError, "failed to parse cloud cidr block %s\n", cloudCIDRBlock) + return err + } + } + // Using the Config value, create the DynamoDB client imdsClient = imds.NewFromConfig(cfg) ec2Client = ec2.NewFromConfig(cfg) From aaf4b0dcc99fe0083a6331ce7bb1ee02419b3da7 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 11:29:21 +0900 Subject: [PATCH 018/171] gh-681: setup loxilb-eni after hA transition --- pkg/loxinet/utils_aws.go | 57 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index ae3bea155..07cc12ab9 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -25,6 +25,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" tk "github.com/loxilb-io/loxilib" + nl "github.com/vishvananda/netlink" "io" "net" "time" @@ -164,12 +165,18 @@ func AWSPrepVIPNetwork() error { } } + ointfs, err := net.Interfaces() + if err != nil { + tk.LogIt(tk.LogError, "failed to get sys ifs\n") + return err + } + cidrBlock := awsCIDRnet.String() loxilbSubNetKey := "loxiType" loxilbSubNetKeyVal := "loxilb-subnet" subnetTag := types.Tag{Key: &loxilbSubNetKey, Value: &loxilbSubNetKeyVal} subnetTags := []types.Tag{subnetTag} - subOutput, err := ec2Client.CreateSubnet(ctx, &ec2.CreateSubnetInput{ + subOutput, err := ec2Client.CreateSubnet(ctx3, &ec2.CreateSubnetInput{ VpcId: &vpcID, AvailabilityZone: &azName, CidrBlock: &cidrBlock, @@ -187,7 +194,7 @@ func AWSPrepVIPNetwork() error { loxilbIntfKeyVal := "loxilb-eni" intfTag := types.Tag{Key: &loxilbIntfKey, Value: &loxilbIntfKeyVal} intfTags := []types.Tag{intfTag} - intfOutput, err := ec2Client.CreateNetworkInterface(ctx, &ec2.CreateNetworkInterfaceInput{ + intfOutput, err := ec2Client.CreateNetworkInterface(ctx3, &ec2.CreateNetworkInterfaceInput{ SubnetId: subOutput.Subnet.SubnetId, Description: &intfDesc, TagSpecifications: []types.TagSpecification{{ResourceType: types.ResourceTypeNetworkInterface, @@ -204,7 +211,7 @@ func AWSPrepVIPNetwork() error { tk.LogIt(tk.LogInfo, "Created interface (%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, vpcID) devIdx := int32(1) - aniOut, err := ec2Client.AttachNetworkInterface(ctx, &ec2.AttachNetworkInterfaceInput{DeviceIndex: &devIdx, + aniOut, err := ec2Client.AttachNetworkInterface(ctx3, &ec2.AttachNetworkInterfaceInput{DeviceIndex: &devIdx, InstanceId: &instanceID, NetworkInterfaceId: intfOutput.NetworkInterface.NetworkInterfaceId, }) @@ -215,6 +222,50 @@ func AWSPrepVIPNetwork() error { tk.LogIt(tk.LogInfo, "Attached interface (%d) for loxilb instance %v\n", *aniOut.NetworkCardIndex, vpcID) + tryCount := 0 + newIntfName := "" + +retry: + nintfs, _ := net.Interfaces() + if err != nil { + tk.LogIt(tk.LogError, "failed to get sys ifs\n") + return err + } + + for _, nintf := range nintfs { + found := false + for _, ointf := range ointfs { + if nintf.Name == ointf.Name { + found = true + break + } + } + if !found { + tk.LogIt(tk.LogInfo, "aws: new interface config %s\n", nintf.Name) + link, err := nl.LinkByName(nintf.Name) + if err != nil { + tk.LogIt(tk.LogError, "failed to get link (%s)\n", nintf.Name) + } + err = nl.LinkSetUp(link) + if err != nil { + tk.LogIt(tk.LogError, "failed to set link (%s) up :%s\n", nintf.Name, err) + } + + err = nl.LinkSetMTU(link, 9000) + if err != nil { + tk.LogIt(tk.LogError, "failed to set link (%s) mtu:%s\n", nintf.Name, err) + } + newIntfName = nintf.Name + } + } + if newIntfName == "" { + if tryCount < 10 { + time.Sleep(1 * time.Second) + tryCount++ + goto retry + } + } + return nil } From 883cea756431b77ce2e3279182f8bba75f6f4e55 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 12:53:30 +0900 Subject: [PATCH 019/171] gh-681: unified cloud-api frontend --- pkg/loxinet/rules.go | 30 ++++++++---------------------- pkg/loxinet/utils_aws.go | 13 ++++++++++++- pkg/loxinet/utils_cloud.go | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 23 deletions(-) create mode 100644 pkg/loxinet/utils_cloud.go diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index c7b3535ce..fa80146bd 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -1532,16 +1532,9 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) { if R.vipMap[sNetAddr.IP.String()] == 0 { if utils.IsIPHostAddr(sNetAddr.IP.String()) { loxinlp.DelAddrNoHook(sNetAddr.IP.String()+"/32", "lo") - if mh.cloudLabel == "aws" { - err := AWSUpdatePrivateIP(sNetAddr.IP, false) - if err != nil { - tk.LogIt(tk.LogError, "aws lb-rule vip %s delete failed. err: %v\n", sNetAddr.IP.String(), err) - } - } else if mh.cloudLabel == "ncloud" { - err := nClient.NcloudUpdatePrivateIp(sNetAddr.IP, false) - if err != nil { - tk.LogIt(tk.LogError, "ncloud lb-rule vip %s delete failed. err: %v\n", sNetAddr.IP.String(), err) - } + err := CloudUpdatePrivateIP(sNetAddr.IP, false) + if err != nil { + tk.LogIt(tk.LogError, "%s: lb-rule vip %s delete failed. err: %v\n", mh.cloudLabel, sNetAddr.IP.String(), err) } } dev := fmt.Sprintf("llb-rule-%s", sNetAddr.IP.String()) @@ -2642,19 +2635,12 @@ func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { ev, _, iface := R.zone.L3.IfaSelectAny(IP, false) if ev == 0 { if !utils.IsIPHostAddr(IP.String()) { - if mh.cloudLabel == "aws" { - err := AWSUpdatePrivateIP(IP, true) - if err != nil { - tk.LogIt(tk.LogError, "aws lb-rule vip %s add failed. err: %v\n", IP.String(), err) - return err - } - } else if mh.cloudLabel == "ncloud" { - err := nClient.NcloudUpdatePrivateIp(IP, true) - if err != nil { - tk.LogIt(tk.LogError, "ncloud lb-rule vip %s add failed. err: %v\n", IP.String(), err) - return err - } + err := CloudUpdatePrivateIP(IP, true) + if err != nil { + tk.LogIt(tk.LogError, "%s: lb-rule vip %s add failed. err: %v\n", mh.cloudLabel, IP.String(), err) + return err } + if loxinlp.AddAddrNoHook(IP.String()+"/32", "lo") != 0 { tk.LogIt(tk.LogError, "nat lb-rule vip %s:%s add failed\n", IP.String(), "lo") } else { diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 07cc12ab9..7bcceee67 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -206,9 +206,10 @@ func AWSPrepVIPNetwork() error { return nil } + loxiEniPrivIP := *intfOutput.NetworkInterface.PrivateIpAddress loxiEniID = *intfOutput.NetworkInterface.NetworkInterfaceId - tk.LogIt(tk.LogInfo, "Created interface (%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, vpcID) + tk.LogIt(tk.LogInfo, "Created interface (%s:%s) for loxilb instance %v\n", *intfOutput.NetworkInterface.NetworkInterfaceId, loxiEniPrivIP, vpcID) devIdx := int32(1) aniOut, err := ec2Client.AttachNetworkInterface(ctx3, &ec2.AttachNetworkInterfaceInput{DeviceIndex: &devIdx, @@ -255,6 +256,16 @@ retry: if err != nil { tk.LogIt(tk.LogError, "failed to set link (%s) mtu:%s\n", nintf.Name, err) } + + Address, err := nl.ParseAddr(loxiEniPrivIP + "/32") + if err != nil { + tk.LogIt(tk.LogWarning, "privIP %s parse fail\n", loxiEniPrivIP) + return err + } + err = nl.AddrAdd(link, Address) + if err != nil { + tk.LogIt(tk.LogWarning, "privIP %s:%s add failed\n", loxiEniPrivIP, nintf.Name) + } newIntfName = nintf.Name } } diff --git a/pkg/loxinet/utils_cloud.go b/pkg/loxinet/utils_cloud.go new file mode 100644 index 000000000..92fffa136 --- /dev/null +++ b/pkg/loxinet/utils_cloud.go @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2024 NetLOX Inc + * + * 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 loxinet + +import ( + tk "github.com/loxilb-io/loxilib" + "net" +) + +func CloudUpdatePrivateIP(vIP net.IP, add bool) error { + if mh.cloudLabel == "aws" { + err := AWSUpdatePrivateIP(vIP, false) + if err != nil { + tk.LogIt(tk.LogError, "aws lb-rule vip %s delete failed. err: %v\n", vIP.String(), err) + } + } else if mh.cloudLabel == "ncloud" { + err := nClient.NcloudUpdatePrivateIp(vIP, false) + if err != nil { + tk.LogIt(tk.LogError, "ncloud lb-rule vip %s delete failed. err: %v\n", vIP.String(), err) + } + } + return nil +} From 0a6fe445be0f9ed56b49e70d392f1dbcc8b1e3ec Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 14:05:17 +0900 Subject: [PATCH 020/171] gh-681: privateVIP field added in LB rule API --- api/models/firewall_entry.go | 10 ++++++++ api/models/loadbalance_entry.go | 20 ++++++++++++++- api/models/mirror_entry.go | 10 ++++++++ api/models/mirror_get_entry.go | 10 ++++++++ api/models/policy_entry.go | 10 ++++++++ api/models/port_entry.go | 25 +++++++++++++++++++ api/models/route_get_entry.go | 5 ++++ api/models/session_entry.go | 10 ++++++++ api/models/session_ul_cl_entry.go | 5 ++++ api/models/vlan_get_entry.go | 10 ++++++++ api/restapi/embedded_spec.go | 18 ++++++++++--- api/restapi/handler/loadbalancer.go | 1 + api/restapi/operations/get_config_bfd_all.go | 5 ++++ .../operations/get_config_bgp_neigh_all.go | 5 ++++ .../operations/get_config_cistate_all.go | 5 ++++ .../operations/get_config_conntrack_all.go | 5 ++++ .../operations/get_config_endpoint_all.go | 5 ++++ api/restapi/operations/get_config_fdb_all.go | 5 ++++ .../operations/get_config_firewall_all.go | 5 ++++ .../operations/get_config_ipv4address_all.go | 5 ++++ .../operations/get_config_loadbalancer_all.go | 5 ++++ .../operations/get_config_mirror_all.go | 5 ++++ .../operations/get_config_neighbor_all.go | 5 ++++ .../operations/get_config_policy_all.go | 5 ++++ api/restapi/operations/get_config_port_all.go | 5 ++++ .../operations/get_config_route_all.go | 5 ++++ .../operations/get_config_session_all.go | 5 ++++ .../operations/get_config_sessionulcl_all.go | 5 ++++ .../operations/get_config_tunnel_vxlan_all.go | 5 ++++ api/restapi/operations/get_config_vlan_all.go | 5 ++++ .../operations/get_status_filesystem.go | 5 ++++ api/restapi/operations/get_status_process.go | 5 ++++ api/restapi/operations/loxilb_rest_api_api.go | 2 +- api/restapi/server.go | 5 ++-- api/swagger.yml | 5 +++- common/common.go | 2 ++ 36 files changed, 239 insertions(+), 9 deletions(-) diff --git a/api/models/firewall_entry.go b/api/models/firewall_entry.go index 7de5c8fb9..571d5bc13 100644 --- a/api/models/firewall_entry.go +++ b/api/models/firewall_entry.go @@ -102,6 +102,11 @@ func (m *FirewallEntry) ContextValidate(ctx context.Context, formats strfmt.Regi func (m *FirewallEntry) contextValidateOpts(ctx context.Context, formats strfmt.Registry) error { if m.Opts != nil { + + if swag.IsZero(m.Opts) { // not required + return nil + } + if err := m.Opts.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("opts") @@ -118,6 +123,11 @@ func (m *FirewallEntry) contextValidateOpts(ctx context.Context, formats strfmt. func (m *FirewallEntry) contextValidateRuleArguments(ctx context.Context, formats strfmt.Registry) error { if m.RuleArguments != nil { + + if swag.IsZero(m.RuleArguments) { // not required + return nil + } + if err := m.RuleArguments.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ruleArguments") diff --git a/api/models/loadbalance_entry.go b/api/models/loadbalance_entry.go index 9aae75776..858194411 100644 --- a/api/models/loadbalance_entry.go +++ b/api/models/loadbalance_entry.go @@ -149,6 +149,11 @@ func (m *LoadbalanceEntry) contextValidateEndpoints(ctx context.Context, formats for i := 0; i < len(m.Endpoints); i++ { if m.Endpoints[i] != nil { + + if swag.IsZero(m.Endpoints[i]) { // not required + return nil + } + if err := m.Endpoints[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("endpoints" + "." + strconv.Itoa(i)) @@ -169,6 +174,11 @@ func (m *LoadbalanceEntry) contextValidateSecondaryIPs(ctx context.Context, form for i := 0; i < len(m.SecondaryIPs); i++ { if m.SecondaryIPs[i] != nil { + + if swag.IsZero(m.SecondaryIPs[i]) { // not required + return nil + } + if err := m.SecondaryIPs[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("secondaryIPs" + "." + strconv.Itoa(i)) @@ -187,6 +197,11 @@ func (m *LoadbalanceEntry) contextValidateSecondaryIPs(ctx context.Context, form func (m *LoadbalanceEntry) contextValidateServiceArguments(ctx context.Context, formats strfmt.Registry) error { if m.ServiceArguments != nil { + + if swag.IsZero(m.ServiceArguments) { // not required + return nil + } + if err := m.ServiceArguments.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("serviceArguments") @@ -315,7 +330,7 @@ type LoadbalanceEntryServiceArguments struct { // block-number if any of this LB entry Block uint16 `json:"block,omitempty"` - // IP address for externel access + // IP address for external access ExternalIP string `json:"externalIP,omitempty"` // value for inactivity timeout (in seconds) @@ -336,6 +351,9 @@ type LoadbalanceEntryServiceArguments struct { // port number for the access Port int64 `json:"port,omitempty"` + // private IP (NAT'd) address for external access + PrivateIP string `json:"privateIP,omitempty"` + // value for probe retries ProbeRetries int32 `json:"probeRetries,omitempty"` diff --git a/api/models/mirror_entry.go b/api/models/mirror_entry.go index 062dd2b1f..1e75de1e0 100644 --- a/api/models/mirror_entry.go +++ b/api/models/mirror_entry.go @@ -105,6 +105,11 @@ func (m *MirrorEntry) ContextValidate(ctx context.Context, formats strfmt.Regist func (m *MirrorEntry) contextValidateMirrorInfo(ctx context.Context, formats strfmt.Registry) error { if m.MirrorInfo != nil { + + if swag.IsZero(m.MirrorInfo) { // not required + return nil + } + if err := m.MirrorInfo.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("mirrorInfo") @@ -121,6 +126,11 @@ func (m *MirrorEntry) contextValidateMirrorInfo(ctx context.Context, formats str func (m *MirrorEntry) contextValidateTargetObject(ctx context.Context, formats strfmt.Registry) error { if m.TargetObject != nil { + + if swag.IsZero(m.TargetObject) { // not required + return nil + } + if err := m.TargetObject.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("targetObject") diff --git a/api/models/mirror_get_entry.go b/api/models/mirror_get_entry.go index 62910e701..f9a7cb0b1 100644 --- a/api/models/mirror_get_entry.go +++ b/api/models/mirror_get_entry.go @@ -123,6 +123,11 @@ func (m *MirrorGetEntry) ContextValidate(ctx context.Context, formats strfmt.Reg func (m *MirrorGetEntry) contextValidateMirrorInfo(ctx context.Context, formats strfmt.Registry) error { if m.MirrorInfo != nil { + + if swag.IsZero(m.MirrorInfo) { // not required + return nil + } + if err := m.MirrorInfo.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("mirrorInfo") @@ -139,6 +144,11 @@ func (m *MirrorGetEntry) contextValidateMirrorInfo(ctx context.Context, formats func (m *MirrorGetEntry) contextValidateTargetObject(ctx context.Context, formats strfmt.Registry) error { if m.TargetObject != nil { + + if swag.IsZero(m.TargetObject) { // not required + return nil + } + if err := m.TargetObject.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("targetObject") diff --git a/api/models/policy_entry.go b/api/models/policy_entry.go index b9935512d..f1b62d4d1 100644 --- a/api/models/policy_entry.go +++ b/api/models/policy_entry.go @@ -105,6 +105,11 @@ func (m *PolicyEntry) ContextValidate(ctx context.Context, formats strfmt.Regist func (m *PolicyEntry) contextValidatePolicyInfo(ctx context.Context, formats strfmt.Registry) error { if m.PolicyInfo != nil { + + if swag.IsZero(m.PolicyInfo) { // not required + return nil + } + if err := m.PolicyInfo.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("policyInfo") @@ -121,6 +126,11 @@ func (m *PolicyEntry) contextValidatePolicyInfo(ctx context.Context, formats str func (m *PolicyEntry) contextValidateTargetObject(ctx context.Context, formats strfmt.Registry) error { if m.TargetObject != nil { + + if swag.IsZero(m.TargetObject) { // not required + return nil + } + if err := m.TargetObject.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("targetObject") diff --git a/api/models/port_entry.go b/api/models/port_entry.go index 09fde0403..d6273add4 100644 --- a/api/models/port_entry.go +++ b/api/models/port_entry.go @@ -204,6 +204,11 @@ func (m *PortEntry) ContextValidate(ctx context.Context, formats strfmt.Registry func (m *PortEntry) contextValidatePortHardwareInformation(ctx context.Context, formats strfmt.Registry) error { if m.PortHardwareInformation != nil { + + if swag.IsZero(m.PortHardwareInformation) { // not required + return nil + } + if err := m.PortHardwareInformation.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("portHardwareInformation") @@ -220,6 +225,11 @@ func (m *PortEntry) contextValidatePortHardwareInformation(ctx context.Context, func (m *PortEntry) contextValidatePortL2Information(ctx context.Context, formats strfmt.Registry) error { if m.PortL2Information != nil { + + if swag.IsZero(m.PortL2Information) { // not required + return nil + } + if err := m.PortL2Information.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("portL2Information") @@ -236,6 +246,11 @@ func (m *PortEntry) contextValidatePortL2Information(ctx context.Context, format func (m *PortEntry) contextValidatePortL3Information(ctx context.Context, formats strfmt.Registry) error { if m.PortL3Information != nil { + + if swag.IsZero(m.PortL3Information) { // not required + return nil + } + if err := m.PortL3Information.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("portL3Information") @@ -252,6 +267,11 @@ func (m *PortEntry) contextValidatePortL3Information(ctx context.Context, format func (m *PortEntry) contextValidatePortSoftwareInformation(ctx context.Context, formats strfmt.Registry) error { if m.PortSoftwareInformation != nil { + + if swag.IsZero(m.PortSoftwareInformation) { // not required + return nil + } + if err := m.PortSoftwareInformation.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("portSoftwareInformation") @@ -268,6 +288,11 @@ func (m *PortEntry) contextValidatePortSoftwareInformation(ctx context.Context, func (m *PortEntry) contextValidatePortStatisticInformation(ctx context.Context, formats strfmt.Registry) error { if m.PortStatisticInformation != nil { + + if swag.IsZero(m.PortStatisticInformation) { // not required + return nil + } + if err := m.PortStatisticInformation.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("portStatisticInformation") diff --git a/api/models/route_get_entry.go b/api/models/route_get_entry.go index f83534b4e..fbb3da5e3 100644 --- a/api/models/route_get_entry.go +++ b/api/models/route_get_entry.go @@ -91,6 +91,11 @@ func (m *RouteGetEntry) ContextValidate(ctx context.Context, formats strfmt.Regi func (m *RouteGetEntry) contextValidateStatistic(ctx context.Context, formats strfmt.Registry) error { if m.Statistic != nil { + + if swag.IsZero(m.Statistic) { // not required + return nil + } + if err := m.Statistic.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("statistic") diff --git a/api/models/session_entry.go b/api/models/session_entry.go index 1bfb83af6..6926eb34d 100644 --- a/api/models/session_entry.go +++ b/api/models/session_entry.go @@ -108,6 +108,11 @@ func (m *SessionEntry) ContextValidate(ctx context.Context, formats strfmt.Regis func (m *SessionEntry) contextValidateAccessNetworkTunnel(ctx context.Context, formats strfmt.Registry) error { if m.AccessNetworkTunnel != nil { + + if swag.IsZero(m.AccessNetworkTunnel) { // not required + return nil + } + if err := m.AccessNetworkTunnel.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("accessNetworkTunnel") @@ -124,6 +129,11 @@ func (m *SessionEntry) contextValidateAccessNetworkTunnel(ctx context.Context, f func (m *SessionEntry) contextValidateCoreNetworkTunnel(ctx context.Context, formats strfmt.Registry) error { if m.CoreNetworkTunnel != nil { + + if swag.IsZero(m.CoreNetworkTunnel) { // not required + return nil + } + if err := m.CoreNetworkTunnel.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("coreNetworkTunnel") diff --git a/api/models/session_ul_cl_entry.go b/api/models/session_ul_cl_entry.go index 1d0a8500e..b60c9069b 100644 --- a/api/models/session_ul_cl_entry.go +++ b/api/models/session_ul_cl_entry.go @@ -75,6 +75,11 @@ func (m *SessionUlClEntry) ContextValidate(ctx context.Context, formats strfmt.R func (m *SessionUlClEntry) contextValidateUlclArgument(ctx context.Context, formats strfmt.Registry) error { if m.UlclArgument != nil { + + if swag.IsZero(m.UlclArgument) { // not required + return nil + } + if err := m.UlclArgument.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ulclArgument") diff --git a/api/models/vlan_get_entry.go b/api/models/vlan_get_entry.go index b7d28b37e..e20cdb092 100644 --- a/api/models/vlan_get_entry.go +++ b/api/models/vlan_get_entry.go @@ -118,6 +118,11 @@ func (m *VlanGetEntry) contextValidateMember(ctx context.Context, formats strfmt for i := 0; i < len(m.Member); i++ { if m.Member[i] != nil { + + if swag.IsZero(m.Member[i]) { // not required + return nil + } + if err := m.Member[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("member" + "." + strconv.Itoa(i)) @@ -136,6 +141,11 @@ func (m *VlanGetEntry) contextValidateMember(ctx context.Context, formats strfmt func (m *VlanGetEntry) contextValidateVlanStatistic(ctx context.Context, formats strfmt.Registry) error { if m.VlanStatistic != nil { + + if swag.IsZero(m.VlanStatistic) { // not required + return nil + } + if err := m.VlanStatistic.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("vlanStatistic") diff --git a/api/restapi/embedded_spec.go b/api/restapi/embedded_spec.go index 8839a0211..c52e3b925 100644 --- a/api/restapi/embedded_spec.go +++ b/api/restapi/embedded_spec.go @@ -4054,7 +4054,7 @@ func init() { "format": "uint16" }, "externalIP": { - "description": "IP address for externel access", + "description": "IP address for external access", "type": "string" }, "inactiveTimeOut": { @@ -4083,6 +4083,10 @@ func init() { "description": "port number for the access", "type": "integer" }, + "privateIP": { + "description": "private IP (NAT'd) address for external access", + "type": "string" + }, "probeRetries": { "description": "value for probe retries", "type": "integer", @@ -8752,7 +8756,7 @@ func init() { "format": "uint16" }, "externalIP": { - "description": "IP address for externel access", + "description": "IP address for external access", "type": "string" }, "inactiveTimeOut": { @@ -8781,6 +8785,10 @@ func init() { "description": "port number for the access", "type": "integer" }, + "privateIP": { + "description": "private IP (NAT'd) address for external access", + "type": "string" + }, "probeRetries": { "description": "value for probe retries", "type": "integer", @@ -8865,7 +8873,7 @@ func init() { "format": "uint16" }, "externalIP": { - "description": "IP address for externel access", + "description": "IP address for external access", "type": "string" }, "inactiveTimeOut": { @@ -8894,6 +8902,10 @@ func init() { "description": "port number for the access", "type": "integer" }, + "privateIP": { + "description": "private IP (NAT'd) address for external access", + "type": "string" + }, "probeRetries": { "description": "value for probe retries", "type": "integer", diff --git a/api/restapi/handler/loadbalancer.go b/api/restapi/handler/loadbalancer.go index 6ce1ede45..13f6666d4 100644 --- a/api/restapi/handler/loadbalancer.go +++ b/api/restapi/handler/loadbalancer.go @@ -29,6 +29,7 @@ func ConfigPostLoadbalancer(params operations.PostConfigLoadbalancerParams) midd var lbRules cmn.LbRuleMod lbRules.Serv.ServIP = params.Attr.ServiceArguments.ExternalIP + lbRules.Serv.PrivateIP = params.Attr.ServiceArguments.PrivateIP lbRules.Serv.ServPort = uint16(params.Attr.ServiceArguments.Port) lbRules.Serv.Proto = params.Attr.ServiceArguments.Protocol lbRules.Serv.BlockNum = params.Attr.ServiceArguments.Block diff --git a/api/restapi/operations/get_config_bfd_all.go b/api/restapi/operations/get_config_bfd_all.go index 1450cf534..e689166fe 100644 --- a/api/restapi/operations/get_config_bfd_all.go +++ b/api/restapi/operations/get_config_bfd_all.go @@ -132,6 +132,11 @@ func (o *GetConfigBfdAllOKBody) contextValidateAttr(ctx context.Context, formats for i := 0; i < len(o.Attr); i++ { if o.Attr[i] != nil { + + if swag.IsZero(o.Attr[i]) { // not required + return nil + } + if err := o.Attr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigBfdAllOK" + "." + "Attr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_bgp_neigh_all.go b/api/restapi/operations/get_config_bgp_neigh_all.go index f6def74b7..43d6434ac 100644 --- a/api/restapi/operations/get_config_bgp_neigh_all.go +++ b/api/restapi/operations/get_config_bgp_neigh_all.go @@ -132,6 +132,11 @@ func (o *GetConfigBgpNeighAllOKBody) contextValidateBgpNeiAttr(ctx context.Conte for i := 0; i < len(o.BgpNeiAttr); i++ { if o.BgpNeiAttr[i] != nil { + + if swag.IsZero(o.BgpNeiAttr[i]) { // not required + return nil + } + if err := o.BgpNeiAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigBgpNeighAllOK" + "." + "bgpNeiAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_cistate_all.go b/api/restapi/operations/get_config_cistate_all.go index 7c792381e..005aef2a9 100644 --- a/api/restapi/operations/get_config_cistate_all.go +++ b/api/restapi/operations/get_config_cistate_all.go @@ -132,6 +132,11 @@ func (o *GetConfigCistateAllOKBody) contextValidateAttr(ctx context.Context, for for i := 0; i < len(o.Attr); i++ { if o.Attr[i] != nil { + + if swag.IsZero(o.Attr[i]) { // not required + return nil + } + if err := o.Attr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigCistateAllOK" + "." + "Attr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_conntrack_all.go b/api/restapi/operations/get_config_conntrack_all.go index b6e73fcae..fdd98f30f 100644 --- a/api/restapi/operations/get_config_conntrack_all.go +++ b/api/restapi/operations/get_config_conntrack_all.go @@ -132,6 +132,11 @@ func (o *GetConfigConntrackAllOKBody) contextValidateCtAttr(ctx context.Context, for i := 0; i < len(o.CtAttr); i++ { if o.CtAttr[i] != nil { + + if swag.IsZero(o.CtAttr[i]) { // not required + return nil + } + if err := o.CtAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigConntrackAllOK" + "." + "ctAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_endpoint_all.go b/api/restapi/operations/get_config_endpoint_all.go index 014afbde5..dc7cb6475 100644 --- a/api/restapi/operations/get_config_endpoint_all.go +++ b/api/restapi/operations/get_config_endpoint_all.go @@ -132,6 +132,11 @@ func (o *GetConfigEndpointAllOKBody) contextValidateAttr(ctx context.Context, fo for i := 0; i < len(o.Attr); i++ { if o.Attr[i] != nil { + + if swag.IsZero(o.Attr[i]) { // not required + return nil + } + if err := o.Attr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigEndpointAllOK" + "." + "Attr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_fdb_all.go b/api/restapi/operations/get_config_fdb_all.go index 64ea648b8..c5181c171 100644 --- a/api/restapi/operations/get_config_fdb_all.go +++ b/api/restapi/operations/get_config_fdb_all.go @@ -132,6 +132,11 @@ func (o *GetConfigFdbAllOKBody) contextValidateFdbAttr(ctx context.Context, form for i := 0; i < len(o.FdbAttr); i++ { if o.FdbAttr[i] != nil { + + if swag.IsZero(o.FdbAttr[i]) { // not required + return nil + } + if err := o.FdbAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigFdbAllOK" + "." + "fdbAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_firewall_all.go b/api/restapi/operations/get_config_firewall_all.go index de42ddaf8..79031bfbd 100644 --- a/api/restapi/operations/get_config_firewall_all.go +++ b/api/restapi/operations/get_config_firewall_all.go @@ -132,6 +132,11 @@ func (o *GetConfigFirewallAllOKBody) contextValidateFwAttr(ctx context.Context, for i := 0; i < len(o.FwAttr); i++ { if o.FwAttr[i] != nil { + + if swag.IsZero(o.FwAttr[i]) { // not required + return nil + } + if err := o.FwAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigFirewallAllOK" + "." + "fwAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_ipv4address_all.go b/api/restapi/operations/get_config_ipv4address_all.go index 4b5c94e83..29e3b484b 100644 --- a/api/restapi/operations/get_config_ipv4address_all.go +++ b/api/restapi/operations/get_config_ipv4address_all.go @@ -132,6 +132,11 @@ func (o *GetConfigIpv4addressAllOKBody) contextValidateIPAttr(ctx context.Contex for i := 0; i < len(o.IPAttr); i++ { if o.IPAttr[i] != nil { + + if swag.IsZero(o.IPAttr[i]) { // not required + return nil + } + if err := o.IPAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigIpv4addressAllOK" + "." + "ipAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_loadbalancer_all.go b/api/restapi/operations/get_config_loadbalancer_all.go index 2f460083e..c7c5146a0 100644 --- a/api/restapi/operations/get_config_loadbalancer_all.go +++ b/api/restapi/operations/get_config_loadbalancer_all.go @@ -132,6 +132,11 @@ func (o *GetConfigLoadbalancerAllOKBody) contextValidateLbAttr(ctx context.Conte for i := 0; i < len(o.LbAttr); i++ { if o.LbAttr[i] != nil { + + if swag.IsZero(o.LbAttr[i]) { // not required + return nil + } + if err := o.LbAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigLoadbalancerAllOK" + "." + "lbAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_mirror_all.go b/api/restapi/operations/get_config_mirror_all.go index 469edc0fa..abc19dc96 100644 --- a/api/restapi/operations/get_config_mirror_all.go +++ b/api/restapi/operations/get_config_mirror_all.go @@ -132,6 +132,11 @@ func (o *GetConfigMirrorAllOKBody) contextValidateMirrAttr(ctx context.Context, for i := 0; i < len(o.MirrAttr); i++ { if o.MirrAttr[i] != nil { + + if swag.IsZero(o.MirrAttr[i]) { // not required + return nil + } + if err := o.MirrAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigMirrorAllOK" + "." + "mirrAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_neighbor_all.go b/api/restapi/operations/get_config_neighbor_all.go index 6898458a8..71424804f 100644 --- a/api/restapi/operations/get_config_neighbor_all.go +++ b/api/restapi/operations/get_config_neighbor_all.go @@ -132,6 +132,11 @@ func (o *GetConfigNeighborAllOKBody) contextValidateNeighborAttr(ctx context.Con for i := 0; i < len(o.NeighborAttr); i++ { if o.NeighborAttr[i] != nil { + + if swag.IsZero(o.NeighborAttr[i]) { // not required + return nil + } + if err := o.NeighborAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigNeighborAllOK" + "." + "neighborAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_policy_all.go b/api/restapi/operations/get_config_policy_all.go index 189bcdc52..73835733a 100644 --- a/api/restapi/operations/get_config_policy_all.go +++ b/api/restapi/operations/get_config_policy_all.go @@ -132,6 +132,11 @@ func (o *GetConfigPolicyAllOKBody) contextValidatePolAttr(ctx context.Context, f for i := 0; i < len(o.PolAttr); i++ { if o.PolAttr[i] != nil { + + if swag.IsZero(o.PolAttr[i]) { // not required + return nil + } + if err := o.PolAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigPolicyAllOK" + "." + "polAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_port_all.go b/api/restapi/operations/get_config_port_all.go index b7e645928..b2c35dfc7 100644 --- a/api/restapi/operations/get_config_port_all.go +++ b/api/restapi/operations/get_config_port_all.go @@ -132,6 +132,11 @@ func (o *GetConfigPortAllOKBody) contextValidatePortAttr(ctx context.Context, fo for i := 0; i < len(o.PortAttr); i++ { if o.PortAttr[i] != nil { + + if swag.IsZero(o.PortAttr[i]) { // not required + return nil + } + if err := o.PortAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigPortAllOK" + "." + "portAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_route_all.go b/api/restapi/operations/get_config_route_all.go index f4430d264..715bd4483 100644 --- a/api/restapi/operations/get_config_route_all.go +++ b/api/restapi/operations/get_config_route_all.go @@ -132,6 +132,11 @@ func (o *GetConfigRouteAllOKBody) contextValidateRouteAttr(ctx context.Context, for i := 0; i < len(o.RouteAttr); i++ { if o.RouteAttr[i] != nil { + + if swag.IsZero(o.RouteAttr[i]) { // not required + return nil + } + if err := o.RouteAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigRouteAllOK" + "." + "routeAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_session_all.go b/api/restapi/operations/get_config_session_all.go index 3e30ac8e8..e51e2c2f0 100644 --- a/api/restapi/operations/get_config_session_all.go +++ b/api/restapi/operations/get_config_session_all.go @@ -132,6 +132,11 @@ func (o *GetConfigSessionAllOKBody) contextValidateSessionAttr(ctx context.Conte for i := 0; i < len(o.SessionAttr); i++ { if o.SessionAttr[i] != nil { + + if swag.IsZero(o.SessionAttr[i]) { // not required + return nil + } + if err := o.SessionAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigSessionAllOK" + "." + "sessionAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_sessionulcl_all.go b/api/restapi/operations/get_config_sessionulcl_all.go index 76db8c587..756518852 100644 --- a/api/restapi/operations/get_config_sessionulcl_all.go +++ b/api/restapi/operations/get_config_sessionulcl_all.go @@ -132,6 +132,11 @@ func (o *GetConfigSessionulclAllOKBody) contextValidateUlclAttr(ctx context.Cont for i := 0; i < len(o.UlclAttr); i++ { if o.UlclAttr[i] != nil { + + if swag.IsZero(o.UlclAttr[i]) { // not required + return nil + } + if err := o.UlclAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigSessionulclAllOK" + "." + "ulclAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_tunnel_vxlan_all.go b/api/restapi/operations/get_config_tunnel_vxlan_all.go index d79cfe1a8..06be74888 100644 --- a/api/restapi/operations/get_config_tunnel_vxlan_all.go +++ b/api/restapi/operations/get_config_tunnel_vxlan_all.go @@ -132,6 +132,11 @@ func (o *GetConfigTunnelVxlanAllOKBody) contextValidateVxlanAttr(ctx context.Con for i := 0; i < len(o.VxlanAttr); i++ { if o.VxlanAttr[i] != nil { + + if swag.IsZero(o.VxlanAttr[i]) { // not required + return nil + } + if err := o.VxlanAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigTunnelVxlanAllOK" + "." + "vxlanAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_config_vlan_all.go b/api/restapi/operations/get_config_vlan_all.go index e38e217be..f52141cd9 100644 --- a/api/restapi/operations/get_config_vlan_all.go +++ b/api/restapi/operations/get_config_vlan_all.go @@ -132,6 +132,11 @@ func (o *GetConfigVlanAllOKBody) contextValidateVlanAttr(ctx context.Context, fo for i := 0; i < len(o.VlanAttr); i++ { if o.VlanAttr[i] != nil { + + if swag.IsZero(o.VlanAttr[i]) { // not required + return nil + } + if err := o.VlanAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getConfigVlanAllOK" + "." + "vlanAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_status_filesystem.go b/api/restapi/operations/get_status_filesystem.go index 817708add..54e463690 100644 --- a/api/restapi/operations/get_status_filesystem.go +++ b/api/restapi/operations/get_status_filesystem.go @@ -132,6 +132,11 @@ func (o *GetStatusFilesystemOKBody) contextValidateFilesystemAttr(ctx context.Co for i := 0; i < len(o.FilesystemAttr); i++ { if o.FilesystemAttr[i] != nil { + + if swag.IsZero(o.FilesystemAttr[i]) { // not required + return nil + } + if err := o.FilesystemAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getStatusFilesystemOK" + "." + "filesystemAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/get_status_process.go b/api/restapi/operations/get_status_process.go index b4fc54b10..4d25fd726 100644 --- a/api/restapi/operations/get_status_process.go +++ b/api/restapi/operations/get_status_process.go @@ -132,6 +132,11 @@ func (o *GetStatusProcessOKBody) contextValidateProcessAttr(ctx context.Context, for i := 0; i < len(o.ProcessAttr); i++ { if o.ProcessAttr[i] != nil { + + if swag.IsZero(o.ProcessAttr[i]) { // not required + return nil + } + if err := o.ProcessAttr[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getStatusProcessOK" + "." + "processAttr" + "." + strconv.Itoa(i)) diff --git a/api/restapi/operations/loxilb_rest_api_api.go b/api/restapi/operations/loxilb_rest_api_api.go index 86b40c15e..753c9d52f 100644 --- a/api/restapi/operations/loxilb_rest_api_api.go +++ b/api/restapi/operations/loxilb_rest_api_api.go @@ -1016,6 +1016,6 @@ func (o *LoxilbRestAPIAPI) AddMiddlewareFor(method, path string, builder middlew } o.Init() if h, ok := o.handlers[um][path]; ok { - o.handlers[method][path] = builder(h) + o.handlers[um][path] = builder(h) } } diff --git a/api/restapi/server.go b/api/restapi/server.go index ebfb66e97..89269d9be 100644 --- a/api/restapi/server.go +++ b/api/restapi/server.go @@ -8,7 +8,6 @@ import ( "crypto/x509" "errors" "fmt" - "github.com/loxilb-io/loxilb/options" "log" "net" "net/http" @@ -82,7 +81,7 @@ type Server struct { ListenLimit int `long:"listen-limit" description:"limit the number of outstanding requests"` KeepAlive time.Duration `long:"keep-alive" description:"sets the TCP keep-alive timeouts on accepted connections. It prunes dead TCP connections ( e.g. closing laptop mid-download)" default:"3m"` ReadTimeout time.Duration `long:"read-timeout" description:"maximum duration before timing out read of the request" default:"30s"` - WriteTimeout time.Duration `long:"write-timeout" description:"maximum duration before timing out write of the response" default:"60s"` + WriteTimeout time.Duration `long:"write-timeout" description:"maximum duration before timing out write of the response" default:"30s"` httpServerL net.Listener TLSHost string `long:"tls-host" description:"the IP to listen on for tls, when not specified it's the same as --host" env:"TLS_HOST"` @@ -227,7 +226,7 @@ func (s *Server) Serve() (err error) { }(s.httpServerL) } - if s.hasScheme(schemeHTTPS) && options.Opts.TLS { + if s.hasScheme(schemeHTTPS) { httpsServer := new(http.Server) httpsServer.MaxHeaderBytes = int(s.MaxHeaderSize) httpsServer.ReadTimeout = s.TLSReadTimeout diff --git a/api/swagger.yml b/api/swagger.yml index afa200b84..1cfda982a 100644 --- a/api/swagger.yml +++ b/api/swagger.yml @@ -2447,7 +2447,10 @@ definitions: properties: externalIP: type: string - description: IP address for externel access + description: IP address for external access + privateIP: + type: string + description: private IP (NAT'd) address for external access port: type: integer description: port number for the access diff --git a/common/common.go b/common/common.go index dde275cbb..b20ff0dbe 100644 --- a/common/common.go +++ b/common/common.go @@ -495,6 +495,8 @@ const ( type LbServiceArg struct { // ServIP - the service ip or vip of the load-balancer rule ServIP string `json:"externalIP"` + // PrivateIP - the private service ip or vip of the load-balancer rule + PrivateIP string `json:"privateIP"` // ServPort - the service port of the load-balancer rule ServPort uint16 `json:"port"` // Proto - the service protocol of the load-balancer rule From 062094a1053a4dfd13beccc31f87df5f9c3221bb Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 14:06:26 +0900 Subject: [PATCH 021/171] gh-681: privateVIP traslation when dealing with cloudAPIs --- pkg/loxinet/rules.go | 115 +++++++++++++++++++++++++++++-------------- 1 file changed, 79 insertions(+), 36 deletions(-) diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index fa80146bd..49bef4860 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -317,13 +317,18 @@ type epChecker struct { tD chan bool } +type vipElem struct { + ref int + pVIP net.IP +} + // RuleH - context container type RuleH struct { zone *Zone cfg RuleCfg tables [RtMax]ruleTable epMap map[string]*epHost - vipMap map[string]int + vipMap map[string]*vipElem epCs [MaxEndPointCheckers]epChecker wg sync.WaitGroup lepHID uint8 @@ -340,7 +345,7 @@ func RulesInit(zone *Zone) *RuleH { nRh.cfg.RuleInactChkTime = DflLbaCheckTimeout nRh.cfg.RuleInactTries = DflLbaInactiveTries - nRh.vipMap = make(map[string]int) + nRh.vipMap = make(map[string]*vipElem) nRh.epMap = make(map[string]*epHost) nRh.tables[RtFw].tableMatch = RmMax - 1 nRh.tables[RtFw].tableType = RtMf @@ -1190,6 +1195,7 @@ func (R *RuleH) AddNatLbRule(serv cmn.LbServiceArg, servSecIPs []cmn.LbSecIPArg, var natActs ruleNatActs var nSecIP []ruleNatSIP var ipProto uint8 + var privIP net.IP // Validate service args service := "" @@ -1203,6 +1209,14 @@ func (R *RuleH) AddNatLbRule(serv cmn.LbServiceArg, servSecIPs []cmn.LbSecIPArg, return RuleUnknownServiceErr, errors.New("malformed-service error") } + privIP = nil + if serv.PrivateIP != "" { + privIP = net.ParseIP(serv.PrivateIP) + if privIP == nil { + return RuleUnknownServiceErr, errors.New("malformed-service privateIP error") + } + } + // Validate inactivity timeout if serv.InactiveTimeout > LbMaxInactiveTimeout { return RuleArgsErr, errors.New("service-args error") @@ -1444,7 +1458,7 @@ func (R *RuleH) AddNatLbRule(serv cmn.LbServiceArg, servSecIPs []cmn.LbSecIPArg, r.iTo = serv.InactiveTimeout r.bgp = serv.Bgp r.ci = cmn.CIDefault - r.privIP, _ = R.RuleVIP2PrivIP(sNetAddr.IP) + r.privIP = privIP R.FoldRecursiveEPs(r) @@ -1457,12 +1471,9 @@ func (R *RuleH) AddNatLbRule(serv cmn.LbServiceArg, servSecIPs []cmn.LbSecIPArg, if r.ruleNum < RtMaximumLbs { R.tables[RtLB].rArr[r.ruleNum] = r } - if !strings.Contains(r.name, "ipvs") { - R.vipMap[sNetAddr.IP.String()]++ - if R.vipMap[sNetAddr.IP.String()] == 1 { - R.AdvRuleVIPIfL2(sNetAddr.IP) - } + if !strings.Contains(r.name, "ipvs") { + R.AddRuleVIP(sNetAddr.IP, r.RuleVIP2PrivIP()) } r.DP(DpCreate) @@ -1527,23 +1538,7 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) { } if !strings.Contains(rule.name, "ipvs") { - R.vipMap[sNetAddr.IP.String()]-- - - if R.vipMap[sNetAddr.IP.String()] == 0 { - if utils.IsIPHostAddr(sNetAddr.IP.String()) { - loxinlp.DelAddrNoHook(sNetAddr.IP.String()+"/32", "lo") - err := CloudUpdatePrivateIP(sNetAddr.IP, false) - if err != nil { - tk.LogIt(tk.LogError, "%s: lb-rule vip %s delete failed. err: %v\n", mh.cloudLabel, sNetAddr.IP.String(), err) - } - } - dev := fmt.Sprintf("llb-rule-%s", sNetAddr.IP.String()) - ret, _ := mh.zr.L3.IfaFind(dev, sNetAddr.IP) - if ret == 0 { - mh.zr.L3.IfaDelete(dev, sNetAddr.IP.String()+"/32") - } - delete(R.vipMap, sNetAddr.IP.String()) - } + R.DeleteRuleVIP(sNetAddr.IP) } tk.LogIt(tk.LogDebug, "nat lb-rule deleted %s-%s\n", rule.tuples.String(), rule.act.String()) @@ -2311,11 +2306,7 @@ func (r *ruleEnt) Nat2DP(work DpWorkT) int { nWork.Work = work nWork.Status = &r.sync nWork.ZoneNum = r.zone.ZoneNum - if r.privIP == nil || r.privIP.IsUnspecified() { - nWork.ServiceIP = r.tuples.l3Dst.addr.IP.Mask(r.tuples.l3Dst.addr.Mask) - } else { - nWork.ServiceIP = r.privIP - } + nWork.ServiceIP = r.RuleVIP2PrivIP() nWork.L4Port = r.tuples.l4Dst.val nWork.Proto = r.tuples.l4Prot.val nWork.Mark = int(r.ruleNum) @@ -2685,17 +2676,69 @@ func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { } func (R *RuleH) RuleVIPSyncToClusterState() { - for vip := range R.vipMap { - ip := net.ParseIP(vip) + for vip, vipElem := range R.vipMap { + ip := vipElem.pVIP + if ip == nil { + ip = net.ParseIP(vip) + } if ip != nil { R.AdvRuleVIPIfL2(ip) } } } -func (R *RuleH) RuleVIP2PrivIP(vip net.IP) (net.IP, error) { - if mh.cloudLabel == "aws" { - return AWSPrivateIpMapper(vip) +func (r *ruleEnt) RuleVIP2PrivIP() net.IP { + if r.privIP == nil || r.privIP.IsUnspecified() { + return r.tuples.l3Dst.addr.IP.Mask(r.tuples.l3Dst.addr.Mask) + } else { + return r.privIP + } +} + +func (R *RuleH) AddRuleVIP(VIP net.IP, pVIP net.IP) { + vipEnt := R.vipMap[VIP.String()] + if vipEnt == nil { + vipEnt = new(vipElem) + vipEnt.ref = 1 + vipEnt.pVIP = pVIP + R.vipMap[VIP.String()] = vipEnt + } else { + vipEnt.ref++ + } + + if vipEnt.ref == 1 { + if pVIP == nil { + R.AdvRuleVIPIfL2(pVIP) + } else { + R.AdvRuleVIPIfL2(VIP) + } + } +} + +func (R *RuleH) DeleteRuleVIP(VIP net.IP) { + + vipEnt := R.vipMap[VIP.String()] + if vipEnt != nil { + vipEnt.ref-- + } + + if vipEnt != nil && vipEnt.ref == 0 { + xVIP := VIP + if vipEnt.pVIP != nil { + xVIP = vipEnt.pVIP + } + if utils.IsIPHostAddr(xVIP.String()) { + loxinlp.DelAddrNoHook(xVIP.String()+"/32", "lo") + err := CloudUpdatePrivateIP(xVIP, false) + if err != nil { + tk.LogIt(tk.LogError, "%s: lb-rule vip %s delete failed. err: %v\n", mh.cloudLabel, xVIP.String(), err) + } + } + dev := fmt.Sprintf("llb-rule-%s", xVIP.String()) + ret, _ := mh.zr.L3.IfaFind(dev, xVIP) + if ret == 0 { + mh.zr.L3.IfaDelete(dev, xVIP.String()+"/32") + } + delete(R.vipMap, VIP.String()) } - return nil, nil } From f33063ed75d6719bded4e174566e66c45c4bc165 Mon Sep 17 00:00:00 2001 From: backguynn Date: Tue, 28 May 2024 17:01:28 +0900 Subject: [PATCH 022/171] associate EIP with private IP for AWS --- pkg/loxinet/rules.go | 27 +++++--- pkg/loxinet/utils_aws.go | 133 +++++++++++++++++++++++++++---------- pkg/loxinet/utils_cloud.go | 32 +++++++-- 3 files changed, 143 insertions(+), 49 deletions(-) diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index 49bef4860..e96710947 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -2186,10 +2186,13 @@ func (R *RuleH) RulesSync() { } } - for vip := range R.vipMap { - ip := net.ParseIP(vip) + for vip, vipElem := range R.vipMap { + ip := vipElem.pVIP + if ip == nil { + ip = net.ParseIP(vip) + } if ip != nil { - R.AdvRuleVIPIfL2(ip) + R.AdvRuleVIPIfL2(ip, net.ParseIP(vip)) } } @@ -2615,7 +2618,7 @@ func (r *ruleEnt) DP(work DpWorkT) int { } -func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { +func (R *RuleH) AdvRuleVIPIfL2(IP net.IP, eIP net.IP) error { ciState, _ := mh.has.CIStateGetInst(cmn.CIDefault) if ciState == "MASTER" { dev := fmt.Sprintf("llb-rule-%s", IP.String()) @@ -2626,7 +2629,7 @@ func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { ev, _, iface := R.zone.L3.IfaSelectAny(IP, false) if ev == 0 { if !utils.IsIPHostAddr(IP.String()) { - err := CloudUpdatePrivateIP(IP, true) + err := CloudUpdatePrivateIP(IP, eIP, true) if err != nil { tk.LogIt(tk.LogError, "%s: lb-rule vip %s add failed. err: %v\n", mh.cloudLabel, IP.String(), err) return err @@ -2676,13 +2679,19 @@ func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error { } func (R *RuleH) RuleVIPSyncToClusterState() { + + ciState, _ := mh.has.CIStateGetInst(cmn.CIDefault) + if ciState == "MASTER" { + CloudPrepareVIPNetWork() + } + for vip, vipElem := range R.vipMap { ip := vipElem.pVIP if ip == nil { ip = net.ParseIP(vip) } if ip != nil { - R.AdvRuleVIPIfL2(ip) + R.AdvRuleVIPIfL2(ip, net.ParseIP(vip)) } } } @@ -2708,9 +2717,9 @@ func (R *RuleH) AddRuleVIP(VIP net.IP, pVIP net.IP) { if vipEnt.ref == 1 { if pVIP == nil { - R.AdvRuleVIPIfL2(pVIP) + R.AdvRuleVIPIfL2(VIP, VIP) } else { - R.AdvRuleVIPIfL2(VIP) + R.AdvRuleVIPIfL2(pVIP, VIP) } } } @@ -2729,7 +2738,7 @@ func (R *RuleH) DeleteRuleVIP(VIP net.IP) { } if utils.IsIPHostAddr(xVIP.String()) { loxinlp.DelAddrNoHook(xVIP.String()+"/32", "lo") - err := CloudUpdatePrivateIP(xVIP, false) + err := CloudUpdatePrivateIP(xVIP, VIP, false) if err != nil { tk.LogIt(tk.LogError, "%s: lb-rule vip %s delete failed. err: %v\n", mh.cloudLabel, xVIP.String(), err) } diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 7bcceee67..85a53e297 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -20,15 +20,16 @@ import ( "context" "errors" "fmt" + "io" + "net" + "time" + "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" tk "github.com/loxilb-io/loxilib" nl "github.com/vishvananda/netlink" - "io" - "net" - "time" ) var ( @@ -41,8 +42,8 @@ var ( loxiEniID string ) -func AWSGetInstanceIDInfo() (string, error) { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) +func AWSGetInstanceIDInfo(ctx context.Context) (string, error) { + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) defer cancel() resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ Path: "instance-id", @@ -60,7 +61,7 @@ func AWSGetInstanceIDInfo() (string, error) { } func AWSGetInstanceVPCInfo() (string, error) { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) defer cancel() resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ Path: "mac", @@ -89,9 +90,7 @@ func AWSGetInstanceVPCInfo() (string, error) { return string(vpc), nil } -func AWSGetInstanceAvailabilityZone() (string, error) { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) - defer cancel() +func AWSGetInstanceAvailabilityZone(ctx context.Context) (string, error) { resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ Path: "placement/availability-zone", }) @@ -112,7 +111,7 @@ func AWSPrepVIPNetwork() error { return nil } - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) defer cancel() filterStr := "tag:loxiType" @@ -139,7 +138,7 @@ func AWSPrepVIPNetwork() error { } loop := 20 for loop > 0 { - ctx2, cancel2 := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) + ctx2, cancel2 := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) _, err2 := ec2Client.DeleteNetworkInterface(ctx2, &ec2.DeleteNetworkInterfaceInput{NetworkInterfaceId: intf.NetworkInterfaceId}) cancel2() if err2 != nil { @@ -155,7 +154,7 @@ func AWSPrepVIPNetwork() error { } } - ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) + ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) defer cancel3() for _, subnet := range subnets { _, err := ec2Client.DeleteSubnet(ctx3, &ec2.DeleteSubnetInput{SubnetId: &subnet}) @@ -280,10 +279,7 @@ retry: return nil } -func AWSGetNetworkInterface(instanceID string, vIP net.IP) (string, error) { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*5)) - defer cancel() - +func AWSGetNetworkInterface(ctx context.Context, instanceID string, vIP net.IP) (string, error) { filterStr := "attachment.instance-id" output, err := ec2Client.DescribeNetworkInterfaces(ctx, &ec2.DescribeNetworkInterfacesInput{ Filters: []types.Filter{ @@ -323,10 +319,7 @@ func AWSGetNetworkInterface(instanceID string, vIP net.IP) (string, error) { return "", errors.New("not found interface") } -func AWSCreatePrivateIp(ni string, vIP net.IP) error { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) - defer cancel() - +func AWSCreatePrivateIp(ctx context.Context, ni string, vIP net.IP) error { allowReassign := true input := &ec2.AssignPrivateIpAddressesInput{ NetworkInterfaceId: &ni, @@ -341,10 +334,7 @@ func AWSCreatePrivateIp(ni string, vIP net.IP) error { return nil } -func AWSDeletePrivateIp(ni string, vIP net.IP) error { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*2)) - defer cancel() - +func AWSDeletePrivateIp(ctx context.Context, ni string, vIP net.IP) error { input := &ec2.UnassignPrivateIpAddressesInput{ NetworkInterfaceId: &ni, PrivateIpAddresses: []string{vIP.String()}, @@ -358,16 +348,36 @@ func AWSDeletePrivateIp(ni string, vIP net.IP) error { } func AWSUpdatePrivateIP(vIP net.IP, add bool) error { - instanceID, err := AWSGetInstanceIDInfo() - if err != nil { - tk.LogIt(tk.LogError, "AWS get instance failed: %v\n", err) - return err + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) + defer cancel() + + var niID string + var err error + if awsCIDRnet == nil || loxiEniID == "" { + niID, err = AWSGetNetworkInterface(ctx, instanceID, vIP) + if err != nil { + tk.LogIt(tk.LogError, "AWS get network interface failed: %v\n", err) + return err + } + } else { + niID = loxiEniID } - niID := "" + if !add { + return AWSDeletePrivateIp(ctx, niID, vIP) + } + return AWSCreatePrivateIp(ctx, niID, vIP) +} + +func AWSAssociateElasticIp(vIP, eIP net.IP, add bool) error { + ctx, cancel := context.WithTimeout(context.Background(), time.Second*30) + defer cancel() + + var niID string + var err error if awsCIDRnet == nil || loxiEniID == "" { - niID, err = AWSGetNetworkInterface(instanceID, vIP) + niID, err = AWSGetNetworkInterface(ctx, instanceID, vIP) if err != nil { tk.LogIt(tk.LogError, "AWS get network interface failed: %v\n", err) return err @@ -376,11 +386,63 @@ func AWSUpdatePrivateIP(vIP net.IP, add bool) error { niID = loxiEniID } + eipID, eipAssociateID, err := AWSGetElasticIpId(ctx, eIP) + if err != nil { + tk.LogIt(tk.LogError, "AWS get elastic IP failed: %v\n", err) + return err + } if !add { - return AWSDeletePrivateIp(niID, vIP) + return AWSDisassociateElasticIpWithInterface(ctx, eipAssociateID, niID) + } + return AWSAssociateElasticIpWithInterface(ctx, eipID, niID, vIP) +} + +func AWSAssociateElasticIpWithInterface(ctx context.Context, eipID, niID string, privateIP net.IP) error { + allowReassign := true + input := &ec2.AssociateAddressInput{ + AllocationId: &eipID, + NetworkInterfaceId: &niID, + AllowReassociation: &allowReassign, + } + if privateIP != nil { + if err := AWSCreatePrivateIp(ctx, niID, privateIP); err != nil { + return err + } + ipstr := privateIP.String() + input.PrivateIpAddress = &ipstr } + _, err := ec2Client.AssociateAddress(ctx, input) + return err +} - return AWSCreatePrivateIp(niID, vIP) +func AWSDisassociateElasticIpWithInterface(ctx context.Context, eipAssociateID, niID string) error { + _, err := ec2Client.DisassociateAddress(ctx, &ec2.DisassociateAddressInput{ + AssociationId: &eipAssociateID, + }) + return err +} + +func AWSGetElasticIpId(ctx context.Context, eIP net.IP) (string, string, error) { + filterStr := "public-ip" + output, err := ec2Client.DescribeAddresses(ctx, &ec2.DescribeAddressesInput{ + Filters: []types.Filter{ + {Name: &filterStr, Values: []string{eIP.String()}}, + }}, + ) + if err != nil { + return "", "", err + } + if len(output.Addresses) <= 0 { + return "", "", fmt.Errorf("not found Elastic IP %s", eIP.String()) + } + var allocateId, associateId string + if output.Addresses[0].AllocationId != nil { + allocateId = *output.Addresses[0].AllocationId + } + if output.Addresses[0].AssociationId != nil { + associateId = *output.Addresses[0].AssociationId + } + return allocateId, associateId, nil } func AWSApiInit(cloudCIDRBlock string) error { @@ -411,13 +473,16 @@ func AWSApiInit(cloudCIDRBlock string) error { return nil } - azName, err = AWSGetInstanceAvailabilityZone() + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) + defer cancel() + + azName, err = AWSGetInstanceAvailabilityZone(ctx) if err != nil { tk.LogIt(tk.LogError, "failed to find az for instance %v:%s\n", vpcID, err) return nil } - instanceID, err = AWSGetInstanceIDInfo() + instanceID, err = AWSGetInstanceIDInfo(ctx) if err != nil { tk.LogIt(tk.LogError, "failed to find instanceID for instance %v:%s\n", vpcID, err) return nil diff --git a/pkg/loxinet/utils_cloud.go b/pkg/loxinet/utils_cloud.go index 92fffa136..0288bf7a2 100644 --- a/pkg/loxinet/utils_cloud.go +++ b/pkg/loxinet/utils_cloud.go @@ -17,21 +17,41 @@ package loxinet import ( - tk "github.com/loxilb-io/loxilib" "net" + + tk "github.com/loxilb-io/loxilib" ) -func CloudUpdatePrivateIP(vIP net.IP, add bool) error { +func CloudUpdatePrivateIP(vIP net.IP, eIP net.IP, add bool) error { + var actionStr string + if add { + actionStr = "create" + } else { + actionStr = "delete" + } + if mh.cloudLabel == "aws" { - err := AWSUpdatePrivateIP(vIP, false) + var err error + if vIP.Equal(eIP) { // no use EIP + err = AWSUpdatePrivateIP(vIP, add) + } else { // use EIP + err = AWSAssociateElasticIp(vIP, eIP, add) + } + if err != nil { - tk.LogIt(tk.LogError, "aws lb-rule vip %s delete failed. err: %v\n", vIP.String(), err) + tk.LogIt(tk.LogError, "aws lb-rule vip %s %s failed. err: %v\n", vIP.String(), actionStr, err) } } else if mh.cloudLabel == "ncloud" { - err := nClient.NcloudUpdatePrivateIp(vIP, false) + err := nClient.NcloudUpdatePrivateIp(vIP, add) if err != nil { - tk.LogIt(tk.LogError, "ncloud lb-rule vip %s delete failed. err: %v\n", vIP.String(), err) + tk.LogIt(tk.LogError, "ncloud lb-rule vip %s %s failed. err: %v\n", vIP.String(), actionStr, err) } } return nil } + +func CloudPrepareVIPNetWork() { + if mh.cloudLabel == "aws" { + AWSPrepVIPNetwork() + } +} From 4b74f905f165f015da40219c5b1f7259ed1c0b87 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 20:00:58 +0900 Subject: [PATCH 023/171] gh-681: fixed compilation due to ssl-flag --- api/restapi/server.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/restapi/server.go b/api/restapi/server.go index 89269d9be..6dfc200b2 100644 --- a/api/restapi/server.go +++ b/api/restapi/server.go @@ -25,6 +25,7 @@ import ( "golang.org/x/net/netutil" "github.com/loxilb-io/loxilb/api/restapi/operations" + "github.com/loxilb-io/loxilb/options" ) const ( @@ -226,7 +227,7 @@ func (s *Server) Serve() (err error) { }(s.httpServerL) } - if s.hasScheme(schemeHTTPS) { + if s.hasScheme(schemeHTTPS) && options.Opts.TLS { httpsServer := new(http.Server) httpsServer.MaxHeaderBytes = int(s.MaxHeaderSize) httpsServer.ReadTimeout = s.TLSReadTimeout From 0c1bb562da8a93ef7d6b64219b5e4c56f953463d Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 20:29:55 +0900 Subject: [PATCH 024/171] gh-681: no need to check and return error if no existing loxilb-eni --- pkg/loxinet/utils_aws.go | 51 ++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 85a53e297..d0126a673 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -114,6 +114,7 @@ func AWSPrepVIPNetwork() error { ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) defer cancel() + subnets := []string{} filterStr := "tag:loxiType" output, err := ec2Client.DescribeNetworkInterfaces(ctx, &ec2.DescribeNetworkInterfacesInput{ Filters: []types.Filter{ @@ -122,35 +123,33 @@ func AWSPrepVIPNetwork() error { }) if err != nil { tk.LogIt(tk.LogError, "no loxiType intf found\n") - return err - } - - subnets := []string{} - for _, intf := range output.NetworkInterfaces { - subnets = append(subnets, *intf.SubnetId) - if intf.Attachment != nil { - force := true - _, err := ec2Client.DetachNetworkInterface(ctx, &ec2.DetachNetworkInterfaceInput{AttachmentId: intf.Attachment.AttachmentId, Force: &force}) - if err != nil { - tk.LogIt(tk.LogError, "failed to detach intf (%s):%s\n", *intf.NetworkInterfaceId, err) - return err + } else { + for _, intf := range output.NetworkInterfaces { + subnets = append(subnets, *intf.SubnetId) + if intf.Attachment != nil { + force := true + _, err := ec2Client.DetachNetworkInterface(ctx, &ec2.DetachNetworkInterfaceInput{AttachmentId: intf.Attachment.AttachmentId, Force: &force}) + if err != nil { + tk.LogIt(tk.LogError, "failed to detach intf (%s):%s\n", *intf.NetworkInterfaceId, err) + return err + } } - } - loop := 20 - for loop > 0 { - ctx2, cancel2 := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) - _, err2 := ec2Client.DeleteNetworkInterface(ctx2, &ec2.DeleteNetworkInterfaceInput{NetworkInterfaceId: intf.NetworkInterfaceId}) - cancel2() - if err2 != nil { - tk.LogIt(tk.LogError, "failed to delete intf (%s):%s\n", *intf.NetworkInterfaceId, err2) - time.Sleep(2 * time.Second) - loop-- - if loop <= 0 { - return err2 + loop := 20 + for loop > 0 { + ctx2, cancel2 := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) + _, err2 := ec2Client.DeleteNetworkInterface(ctx2, &ec2.DeleteNetworkInterfaceInput{NetworkInterfaceId: intf.NetworkInterfaceId}) + cancel2() + if err2 != nil { + tk.LogIt(tk.LogError, "failed to delete intf (%s):%s\n", *intf.NetworkInterfaceId, err2) + time.Sleep(2 * time.Second) + loop-- + if loop <= 0 { + return err2 + } + continue } - continue + break } - break } } From 055e0a92a433dd7f1b78b38a54cb9faa605739ef Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 21:21:32 +0900 Subject: [PATCH 025/171] gh-681: cloud-config error handling --- pkg/loxinet/utils_aws.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index d0126a673..851354def 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -451,6 +451,7 @@ func AWSApiInit(cloudCIDRBlock string) error { // credentials, and shared configuration files cfg, err := config.LoadDefaultConfig(context.TODO()) if err != nil { + tk.LogIt(tk.LogError, "failed to load cloud config\n") return err } @@ -469,7 +470,7 @@ func AWSApiInit(cloudCIDRBlock string) error { vpcID, err = AWSGetInstanceVPCInfo() if err != nil { tk.LogIt(tk.LogError, "failed to find vpcid for instance\n") - return nil + return err } ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) @@ -478,13 +479,13 @@ func AWSApiInit(cloudCIDRBlock string) error { azName, err = AWSGetInstanceAvailabilityZone(ctx) if err != nil { tk.LogIt(tk.LogError, "failed to find az for instance %v:%s\n", vpcID, err) - return nil + return err } instanceID, err = AWSGetInstanceIDInfo(ctx) if err != nil { tk.LogIt(tk.LogError, "failed to find instanceID for instance %v:%s\n", vpcID, err) - return nil + return err } tk.LogIt(tk.LogInfo, "AWS API init - instance %s vpc %s az %s\n", instanceID, vpcID, instanceID) From 453ada4fa815c451413ce28655a452cccbf0848b Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 28 May 2024 22:40:27 +0900 Subject: [PATCH 026/171] gh-681: ENI privateIP subnet fixed --- pkg/loxinet/cluster.go | 2 +- pkg/loxinet/utils_aws.go | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/loxinet/cluster.go b/pkg/loxinet/cluster.go index 9561a0799..9f8094b49 100644 --- a/pkg/loxinet/cluster.go +++ b/pkg/loxinet/cluster.go @@ -223,7 +223,7 @@ func (h *CIStateH) CIStateUpdate(cm cmn.HASMod) (int, error) { if mh.bgp != nil { mh.bgp.UpdateCIState(cm.Instance, ci.State, ci.Vip) } - mh.zr.Rules.RuleVIPSyncToClusterState() + go mh.zr.Rules.RuleVIPSyncToClusterState() return ci.State, nil } diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 851354def..02c4c4afc 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -255,7 +255,9 @@ retry: tk.LogIt(tk.LogError, "failed to set link (%s) mtu:%s\n", nintf.Name, err) } - Address, err := nl.ParseAddr(loxiEniPrivIP + "/32") + ones, _ := awsCIDRnet.Mask.Size() + subStr := fmt.Sprintf("/%d", ones) + Address, err := nl.ParseAddr(loxiEniPrivIP + subStr) if err != nil { tk.LogIt(tk.LogWarning, "privIP %s parse fail\n", loxiEniPrivIP) return err From 524079c96ea364b830e0e6989f4ceadfea6db842 Mon Sep 17 00:00:00 2001 From: backguynn Date: Wed, 29 May 2024 17:35:08 +0900 Subject: [PATCH 027/171] add security group when create aws interface --- pkg/loxinet/utils_aws.go | 57 ++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 11 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 02c4c4afc..3b72e1be0 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -22,6 +22,7 @@ import ( "fmt" "io" "net" + "strings" "time" "github.com/aws/aws-sdk-go-v2/config" @@ -43,14 +44,13 @@ var ( ) func AWSGetInstanceIDInfo(ctx context.Context) (string, error) { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) - defer cancel() resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ Path: "instance-id", }) if err != nil { return "", err } + defer resp.Content.Close() instanceID, err := io.ReadAll(resp.Content) if err != nil { @@ -60,15 +60,14 @@ func AWSGetInstanceIDInfo(ctx context.Context) (string, error) { return string(instanceID), nil } -func AWSGetInstanceVPCInfo() (string, error) { - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) - defer cancel() +func AWSGetInstanceVPCInfo(ctx context.Context) (string, error) { resp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ Path: "mac", }) if err != nil { return "", err } + defer resp.Content.Close() mac, err := io.ReadAll(resp.Content) if err != nil { @@ -82,6 +81,8 @@ func AWSGetInstanceVPCInfo() (string, error) { if err != nil { return "", err } + defer resp2.Content.Close() + vpc, err := io.ReadAll(resp2.Content) if err != nil { return "", err @@ -97,6 +98,7 @@ func AWSGetInstanceAvailabilityZone(ctx context.Context) (string, error) { if err != nil { return "", err } + defer resp.Content.Close() az, err := io.ReadAll(resp.Content) if err != nil { @@ -187,6 +189,10 @@ func AWSPrepVIPNetwork() error { return nil } + sgList, err := AWSImdsGetSecurityGroups(ctx3) + if err != nil { + tk.LogIt(tk.LogWarning, "failed to get instance security groups: %s\n", err.Error()) + } intfDesc := "loxilb-eni" loxilbIntfKey := "loxiType" loxilbIntfKeyVal := "loxilb-eni" @@ -195,6 +201,7 @@ func AWSPrepVIPNetwork() error { intfOutput, err := ec2Client.CreateNetworkInterface(ctx3, &ec2.CreateNetworkInterfaceInput{ SubnetId: subOutput.Subnet.SubnetId, Description: &intfDesc, + Groups: sgList, TagSpecifications: []types.TagSpecification{{ResourceType: types.ResourceTypeNetworkInterface, Tags: intfTags}, }, @@ -301,6 +308,7 @@ func AWSGetNetworkInterface(ctx context.Context, instanceID string, vIP net.IP) } b, err := io.ReadAll(cidr.Content) + cidr.Content.Close() if err != nil { continue } @@ -469,15 +477,15 @@ func AWSApiInit(cloudCIDRBlock string) error { imdsClient = imds.NewFromConfig(cfg) ec2Client = ec2.NewFromConfig(cfg) - vpcID, err = AWSGetInstanceVPCInfo() + ctx, cancel := context.WithTimeout(context.Background(), time.Second*30) + defer cancel() + + vpcID, err = AWSGetInstanceVPCInfo(ctx) if err != nil { tk.LogIt(tk.LogError, "failed to find vpcid for instance\n") return err } - ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*10)) - defer cancel() - azName, err = AWSGetInstanceAvailabilityZone(ctx) if err != nil { tk.LogIt(tk.LogError, "failed to find az for instance %v:%s\n", vpcID, err) @@ -494,6 +502,33 @@ func AWSApiInit(cloudCIDRBlock string) error { return nil } -func AWSPrivateIpMapper(vip net.IP) (net.IP, error) { - return vip, nil +func AWSImdsGetSecurityGroups(ctx context.Context) ([]string, error) { + macResp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ + Path: "mac", + }) + if err != nil { + return nil, err + } + defer macResp.Content.Close() + + macByte, err := io.ReadAll(macResp.Content) + if err != nil { + return nil, err + } + + sgResp, err := imdsClient.GetMetadata(ctx, &imds.GetMetadataInput{ + Path: fmt.Sprintf("network/interfaces/macs/%s/security-group-ids", string(macByte)), + }) + if err != nil { + return nil, err + } + defer sgResp.Content.Close() + + sgByte, err := io.ReadAll(sgResp.Content) + if err != nil { + return nil, err + } + + sgList := strings.Split(string(sgByte), "\n") + return sgList, nil } From d5398bde80fa8fda0df336d89fb87ec1110d048e Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 30 May 2024 17:34:30 +0900 Subject: [PATCH 028/171] gh-681: For fullNAT use privateIP if available --- pkg/loxinet/rules.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index e96710947..bcb6640df 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -996,7 +996,7 @@ func (R *RuleH) electEPSrc(r *ruleEnt) bool { } else if na.mode == cmn.LBModeFullNAT { mode = "fullnat" if !mh.has.IsCIKAMode() { - sip = r.tuples.l3Dst.addr.IP.Mask(r.tuples.l3Dst.addr.Mask) + sip = r.RuleVIP2PrivIP() if np.xIP.Equal(sip) { sip = net.IPv4(0, 0, 0, 0) } else if utils.IsIPHostAddr(np.xIP.String()) { From 39c284dce88833a1f71e3229ca56301fbfce852a Mon Sep 17 00:00:00 2001 From: backguynn Date: Thu, 30 May 2024 18:18:43 +0900 Subject: [PATCH 029/171] disable src/dst check option & replace default route --- pkg/loxinet/utils_aws.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 3b72e1be0..8d85dd857 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -231,6 +231,15 @@ func AWSPrepVIPNetwork() error { tryCount := 0 newIntfName := "" + sourceDestCheck := false + _, err = ec2Client.ModifyNetworkInterfaceAttribute(ctx3, &ec2.ModifyNetworkInterfaceAttributeInput{ + NetworkInterfaceId: intfOutput.NetworkInterface.NetworkInterfaceId, + SourceDestCheck: &types.AttributeBooleanValue{Value: &sourceDestCheck}, + }) + if err != nil { + tk.LogIt(tk.LogError, "failed to modify interface(disable source/dest check):%s\n", err.Error()) + } + retry: nintfs, _ := net.Interfaces() if err != nil { @@ -274,6 +283,19 @@ retry: tk.LogIt(tk.LogWarning, "privIP %s:%s add failed\n", loxiEniPrivIP, nintf.Name) } newIntfName = nintf.Name + + _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") + gw := awsCIDRnet.IP.Mask(awsCIDRnet.Mask) + gw[3]++ + err = nl.RouteReplace(&nl.Route{ + LinkIndex: link.Attrs().Index, + Gw: gw, + Dst: defaultDst, + }) + if err != nil { + tk.LogIt(tk.LogError, "failed to set default gw %s\n", gw.String()) + return err + } } } if newIntfName == "" { From 23901e1d3a7f477366657673b59d97a179128255 Mon Sep 17 00:00:00 2001 From: backguynn Date: Fri, 31 May 2024 14:01:33 +0900 Subject: [PATCH 030/171] check aws subnet one more time before deleting it. --- pkg/loxinet/utils_aws.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 8d85dd857..5d1c35e1c 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -157,6 +157,20 @@ func AWSPrepVIPNetwork() error { ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) defer cancel3() + + loxilbSubNetKey := "loxiType" + loxilbSubNetKeyVal := "loxilb-subnet" + subnetOutput, err := ec2Client.DescribeSubnets(ctx3, &ec2.DescribeSubnetsInput{ + Filters: []types.Filter{ + {Name: &filterStr, Values: []string{loxilbSubNetKeyVal}}, + }, + }) + if err == nil { + for _, subnet := range subnetOutput.Subnets { + subnets = append(subnets, *subnet.SubnetId) + } + } + for _, subnet := range subnets { _, err := ec2Client.DeleteSubnet(ctx3, &ec2.DeleteSubnetInput{SubnetId: &subnet}) if err != nil { @@ -172,8 +186,6 @@ func AWSPrepVIPNetwork() error { } cidrBlock := awsCIDRnet.String() - loxilbSubNetKey := "loxiType" - loxilbSubNetKeyVal := "loxilb-subnet" subnetTag := types.Tag{Key: &loxilbSubNetKey, Value: &loxilbSubNetKeyVal} subnetTags := []types.Tag{subnetTag} subOutput, err := ec2Client.CreateSubnet(ctx3, &ec2.CreateSubnetInput{ From 9065f9e1287cc38d8581d757c487f6cab821e2b4 Mon Sep 17 00:00:00 2001 From: backguynn Date: Fri, 31 May 2024 14:09:37 +0900 Subject: [PATCH 031/171] when aws interface not found, check subnet one more --- pkg/loxinet/utils_aws.go | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 5d1c35e1c..8e4d5ce7e 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -117,14 +117,29 @@ func AWSPrepVIPNetwork() error { defer cancel() subnets := []string{} - filterStr := "tag:loxiType" + loxilbKey := "loxiType" + loxilbIfKeyVal := "loxilb-eni" + loxilbSubNetKeyVal := "loxilb-subnet" + filterStr := fmt.Sprintf("%s:%s", "tag", loxilbKey) + output, err := ec2Client.DescribeNetworkInterfaces(ctx, &ec2.DescribeNetworkInterfacesInput{ Filters: []types.Filter{ - {Name: &filterStr, Values: []string{"loxilb-eni"}}, + {Name: &filterStr, Values: []string{loxilbIfKeyVal}}, }, }) + if err != nil { tk.LogIt(tk.LogError, "no loxiType intf found\n") + subnetOutput, err := ec2Client.DescribeSubnets(ctx, &ec2.DescribeSubnetsInput{ + Filters: []types.Filter{ + {Name: &filterStr, Values: []string{loxilbSubNetKeyVal}}, + }, + }) + if err == nil { + for _, subnet := range subnetOutput.Subnets { + subnets = append(subnets, *subnet.SubnetId) + } + } } else { for _, intf := range output.NetworkInterfaces { subnets = append(subnets, *intf.SubnetId) @@ -158,19 +173,6 @@ func AWSPrepVIPNetwork() error { ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) defer cancel3() - loxilbSubNetKey := "loxiType" - loxilbSubNetKeyVal := "loxilb-subnet" - subnetOutput, err := ec2Client.DescribeSubnets(ctx3, &ec2.DescribeSubnetsInput{ - Filters: []types.Filter{ - {Name: &filterStr, Values: []string{loxilbSubNetKeyVal}}, - }, - }) - if err == nil { - for _, subnet := range subnetOutput.Subnets { - subnets = append(subnets, *subnet.SubnetId) - } - } - for _, subnet := range subnets { _, err := ec2Client.DeleteSubnet(ctx3, &ec2.DeleteSubnetInput{SubnetId: &subnet}) if err != nil { @@ -186,7 +188,7 @@ func AWSPrepVIPNetwork() error { } cidrBlock := awsCIDRnet.String() - subnetTag := types.Tag{Key: &loxilbSubNetKey, Value: &loxilbSubNetKeyVal} + subnetTag := types.Tag{Key: &loxilbKey, Value: &loxilbSubNetKeyVal} subnetTags := []types.Tag{subnetTag} subOutput, err := ec2Client.CreateSubnet(ctx3, &ec2.CreateSubnetInput{ VpcId: &vpcID, From b5149e6e71ea60e73285f2f83ce1ac55d65e1329 Mon Sep 17 00:00:00 2001 From: backguynn Date: Mon, 3 Jun 2024 15:34:47 +0900 Subject: [PATCH 032/171] commented out routeReplace code. --- pkg/loxinet/utils_aws.go | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 8e4d5ce7e..94efc120b 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -128,7 +128,7 @@ func AWSPrepVIPNetwork() error { }, }) - if err != nil { + if err != nil || (output != nil && len(output.NetworkInterfaces) <= 0) { tk.LogIt(tk.LogError, "no loxiType intf found\n") subnetOutput, err := ec2Client.DescribeSubnets(ctx, &ec2.DescribeSubnetsInput{ Filters: []types.Filter{ @@ -298,18 +298,20 @@ retry: } newIntfName = nintf.Name - _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") - gw := awsCIDRnet.IP.Mask(awsCIDRnet.Mask) - gw[3]++ - err = nl.RouteReplace(&nl.Route{ - LinkIndex: link.Attrs().Index, - Gw: gw, - Dst: defaultDst, - }) - if err != nil { - tk.LogIt(tk.LogError, "failed to set default gw %s\n", gw.String()) - return err - } + /* + _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") + gw := awsCIDRnet.IP.Mask(awsCIDRnet.Mask) + gw[3]++ + err = nl.RouteReplace(&nl.Route{ + LinkIndex: link.Attrs().Index, + Gw: gw, + Dst: defaultDst, + }) + if err != nil { + tk.LogIt(tk.LogError, "failed to set default gw %s\n", gw.String()) + return err + } + */ } } if newIntfName == "" { From 378426ab873ed7cad48f73a6796b31a4a4e1d824 Mon Sep 17 00:00:00 2001 From: backguynn Date: Mon, 3 Jun 2024 20:33:02 +0900 Subject: [PATCH 033/171] Remove duplicate logs --- pkg/loxinet/utils_cloud.go | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/pkg/loxinet/utils_cloud.go b/pkg/loxinet/utils_cloud.go index b6ee2261c..683977bc7 100644 --- a/pkg/loxinet/utils_cloud.go +++ b/pkg/loxinet/utils_cloud.go @@ -18,37 +18,21 @@ package loxinet import ( "net" - - tk "github.com/loxilb-io/loxilib" ) func CloudUpdatePrivateIP(vIP net.IP, eIP net.IP, add bool) error { - var actionStr string - if add { - actionStr = "create" - } else { - actionStr = "delete" - } - if mh.cloudLabel == "aws" { - var err error if vIP.Equal(eIP) { // no use EIP - err = AWSUpdatePrivateIP(vIP, add) + return AWSUpdatePrivateIP(vIP, add) } else { // use EIP - err = AWSAssociateElasticIp(vIP, eIP, add) - } - - if err != nil { - tk.LogIt(tk.LogError, "aws lb-rule vip %s %s failed. err: %v\n", vIP.String(), actionStr, err) - return err - } else { + if err := AWSAssociateElasticIp(vIP, eIP, add); err != nil { + return err + } return AWSPrepDFLRoute() } + } else if mh.cloudLabel == "ncloud" { - err := nClient.NcloudUpdatePrivateIp(vIP, add) - if err != nil { - tk.LogIt(tk.LogError, "ncloud lb-rule vip %s %s failed. err: %v\n", vIP.String(), actionStr, err) - } + return nClient.NcloudUpdatePrivateIp(vIP, add) } return nil } From 1baf95d479cbeb93459b146b5d65d5cc89f83591 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Mon, 3 Jun 2024 23:29:08 +0900 Subject: [PATCH 034/171] gh-681: Handle default route modification --- pkg/loxinet/utils_aws.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 8d85dd857..b8a4bc4f8 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -285,9 +285,12 @@ retry: newIntfName = nintf.Name _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") + nl.RouteDel(&nl.Route{ + Dst: defaultDst, + }) gw := awsCIDRnet.IP.Mask(awsCIDRnet.Mask) gw[3]++ - err = nl.RouteReplace(&nl.Route{ + err = nl.RouteAdd(&nl.Route{ LinkIndex: link.Attrs().Index, Gw: gw, Dst: defaultDst, From e1e932728f3758f7eb3513f50cb47cb79ae42247 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 4 Jun 2024 00:07:09 +0900 Subject: [PATCH 035/171] gh-681: Handle default route modification --- pkg/loxinet/utils_aws.go | 72 ++++++++++++++++++++++++++------------ pkg/loxinet/utils_cloud.go | 3 ++ 2 files changed, 52 insertions(+), 23 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index b8a4bc4f8..e402c4b61 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -34,13 +34,15 @@ import ( ) var ( - imdsClient *imds.Client - ec2Client *ec2.Client - vpcID string - instanceID string - azName string - awsCIDRnet *net.IPNet - loxiEniID string + imdsClient *imds.Client + ec2Client *ec2.Client + vpcID string + instanceID string + azName string + awsCIDRnet *net.IPNet + loxiEniID string + intfENIName string + setDFLRoute bool ) func AWSGetInstanceIDInfo(ctx context.Context) (string, error) { @@ -108,11 +110,49 @@ func AWSGetInstanceAvailabilityZone(ctx context.Context) (string, error) { return string(az), nil } +func AWSPrepDFLRoute() error { + + if !setDFLRoute { + return nil + } + + if intfENIName == "" { + tk.LogIt(tk.LogError, "failed to get ENI intf name (%s)\n", intfENIName) + return nil + } + + link, err := nl.LinkByName(intfENIName) + if err != nil { + tk.LogIt(tk.LogError, "failed to get ENI link (%s)\n", intfENIName) + return err + } + + _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") + nl.RouteDel(&nl.Route{ + Dst: defaultDst, + }) + gw := awsCIDRnet.IP.Mask(awsCIDRnet.Mask) + gw[3]++ + err = nl.RouteAdd(&nl.Route{ + LinkIndex: link.Attrs().Index, + Gw: gw, + Dst: defaultDst, + }) + if err != nil { + tk.LogIt(tk.LogError, "failed to set default gw %s\n", gw.String()) + return err + } + setDFLRoute = false + return nil +} + func AWSPrepVIPNetwork() error { if awsCIDRnet == nil { return nil } + setDFLRoute = true + ctx, cancel := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) defer cancel() @@ -283,22 +323,6 @@ retry: tk.LogIt(tk.LogWarning, "privIP %s:%s add failed\n", loxiEniPrivIP, nintf.Name) } newIntfName = nintf.Name - - _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") - nl.RouteDel(&nl.Route{ - Dst: defaultDst, - }) - gw := awsCIDRnet.IP.Mask(awsCIDRnet.Mask) - gw[3]++ - err = nl.RouteAdd(&nl.Route{ - LinkIndex: link.Attrs().Index, - Gw: gw, - Dst: defaultDst, - }) - if err != nil { - tk.LogIt(tk.LogError, "failed to set default gw %s\n", gw.String()) - return err - } } } if newIntfName == "" { @@ -307,6 +331,8 @@ retry: tryCount++ goto retry } + } else { + intfENIName = newIntfName } return nil diff --git a/pkg/loxinet/utils_cloud.go b/pkg/loxinet/utils_cloud.go index 0288bf7a2..b6ee2261c 100644 --- a/pkg/loxinet/utils_cloud.go +++ b/pkg/loxinet/utils_cloud.go @@ -40,6 +40,9 @@ func CloudUpdatePrivateIP(vIP net.IP, eIP net.IP, add bool) error { if err != nil { tk.LogIt(tk.LogError, "aws lb-rule vip %s %s failed. err: %v\n", vIP.String(), actionStr, err) + return err + } else { + return AWSPrepDFLRoute() } } else if mh.cloudLabel == "ncloud" { err := nClient.NcloudUpdatePrivateIp(vIP, add) From 65ebaf475f6189a571f1052c291e6ac0b52a2e44 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 4 Jun 2024 01:40:03 +0900 Subject: [PATCH 036/171] gh-681: Handle default route modification --- pkg/loxinet/utils_aws.go | 47 +++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index e402c4b61..7c476ebd0 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -29,6 +29,8 @@ import ( "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" + "github.com/loxilb-io/loxilb/api/loxinlp" + utils "github.com/loxilb-io/loxilb/pkg/utils" tk "github.com/loxilb-io/loxilib" nl "github.com/vishvananda/netlink" ) @@ -121,26 +123,37 @@ func AWSPrepDFLRoute() error { return nil } - link, err := nl.LinkByName(intfENIName) - if err != nil { - tk.LogIt(tk.LogError, "failed to get ENI link (%s)\n", intfENIName) - return err - } - _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") - nl.RouteDel(&nl.Route{ - Dst: defaultDst, - }) gw := awsCIDRnet.IP.Mask(awsCIDRnet.Mask) gw[3]++ - err = nl.RouteAdd(&nl.Route{ - LinkIndex: link.Attrs().Index, - Gw: gw, - Dst: defaultDst, - }) - if err != nil { - tk.LogIt(tk.LogError, "failed to set default gw %s\n", gw.String()) - return err + + if false { + link, err := nl.LinkByName(intfENIName) + if err != nil { + tk.LogIt(tk.LogError, "failed to get ENI link (%s)\n", intfENIName) + return err + } + + nl.RouteDel(&nl.Route{ + Dst: defaultDst, + }) + err = nl.RouteAdd(&nl.Route{ + LinkIndex: link.Attrs().Index, + Gw: gw, + Dst: defaultDst, + }) + if err != nil { + tk.LogIt(tk.LogError, "failed to set default gw %s\n", gw.String()) + return err + } + } else { + loxinlp.DelRouteNoHook(defaultDst.String()) + rc := loxinlp.AddRouteNoHook(defaultDst.String(), gw.String()) + if rc != 0 { + tk.LogIt(tk.LogError, "failed to set loxidefault gw %s\n", gw.String()) + return errors.New("failed to set loxidefault gw") + } + utils.ArpResolver(tk.IPtonl(gw)) } setDFLRoute = false return nil From 2e2fbfd50dc28d5aaa26d79529862b54d49031fe Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 4 Jun 2024 01:49:29 +0900 Subject: [PATCH 037/171] gh-681: Handle default route modification --- pkg/loxinet/utils_aws.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 7c476ebd0..fecce0bbc 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -147,8 +147,20 @@ func AWSPrepDFLRoute() error { return err } } else { - loxinlp.DelRouteNoHook(defaultDst.String()) - rc := loxinlp.AddRouteNoHook(defaultDst.String(), gw.String()) + link, err := nl.LinkByName(intfENIName) + if err != nil { + tk.LogIt(tk.LogError, "failed to get ENI link (%s)\n", intfENIName) + return err + } + + loxinlp.DelRoute(nl.Route{ + Dst: defaultDst, + }) + rc := loxinlp.AddRoute(nl.Route{ + LinkIndex: link.Attrs().Index, + Gw: gw, + Dst: defaultDst, + }) if rc != 0 { tk.LogIt(tk.LogError, "failed to set loxidefault gw %s\n", gw.String()) return errors.New("failed to set loxidefault gw") From b34bda0d90eac46f0f51f4dee210682e0945e3cd Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 4 Jun 2024 02:06:09 +0900 Subject: [PATCH 038/171] gh-681: Handle default route modification --- pkg/loxinet/utils_aws.go | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index fecce0bbc..b7b130157 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -29,7 +29,6 @@ import ( "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" "github.com/aws/aws-sdk-go-v2/service/ec2" "github.com/aws/aws-sdk-go-v2/service/ec2/types" - "github.com/loxilb-io/loxilb/api/loxinlp" utils "github.com/loxilb-io/loxilb/pkg/utils" tk "github.com/loxilb-io/loxilib" nl "github.com/vishvananda/netlink" @@ -153,17 +152,14 @@ func AWSPrepDFLRoute() error { return err } - loxinlp.DelRoute(nl.Route{ - Dst: defaultDst, - }) - rc := loxinlp.AddRoute(nl.Route{ - LinkIndex: link.Attrs().Index, - Gw: gw, - Dst: defaultDst, - }) - if rc != 0 { + mh.zr.Rt.RtDelete(*defaultDst, RootZone) + + ra := RtAttr{HostRoute: false, Ifi: link.Attrs().Index, IfRoute: false} + na := []RtNhAttr{{gw, link.Attrs().Index}} + _, err = mh.zr.Rt.RtAdd(*defaultDst, RootZone, ra, na) + if err != nil { tk.LogIt(tk.LogError, "failed to set loxidefault gw %s\n", gw.String()) - return errors.New("failed to set loxidefault gw") + return err } utils.ArpResolver(tk.IPtonl(gw)) } From c047f7865b3d401b2df22660065f336f215d7b9e Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Wed, 12 Jun 2024 16:47:41 +0900 Subject: [PATCH 039/171] Updated latest aws branch --- loxilb-ebpf | 2 +- pkg/loxinet/dpebpf_linux.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index 02dcd2081..996b0ee92 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit 02dcd2081789d3d8bd5cfac0e48dcd5e231d529a +Subproject commit 996b0ee9278f14e4b8a08d11a4720cddcb9a1a39 diff --git a/pkg/loxinet/dpebpf_linux.go b/pkg/loxinet/dpebpf_linux.go index 1451dd011..a9261b5e6 100644 --- a/pkg/loxinet/dpebpf_linux.go +++ b/pkg/loxinet/dpebpf_linux.go @@ -368,7 +368,7 @@ func (e *DpEbpfH) DpEbpfUnInit() { } if mh.locVIP { - C.llb_unload_kern_sock() + C.llb_unload_kern_all() } } From 851f4351f698bdb44229cb4df436403363d70f80 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Wed, 12 Jun 2024 21:40:10 +0900 Subject: [PATCH 040/171] gh-681 - multi-VPC support --- pkg/loxinet/apiclient.go | 1 - pkg/loxinet/utils_aws.go | 44 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/pkg/loxinet/apiclient.go b/pkg/loxinet/apiclient.go index 28faf9349..426879b38 100644 --- a/pkg/loxinet/apiclient.go +++ b/pkg/loxinet/apiclient.go @@ -301,7 +301,6 @@ func (na *NetAPIStruct) NetRouteAdd(rm *cmn.RouteMod) (int, error) { } else { ret, err = mh.zr.Rt.RtAdd(rm.Dst, RootZone, ra, nil) } - return ret, err } diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 9508ed84a..058551240 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -231,6 +231,49 @@ func AWSPrepVIPNetwork() error { } } + cidrBlock := awsCIDRnet.String() + vpcFilterStr := "cidr-block-association.cidr-block" + vpcOut, err := ec2Client.DescribeVpcs(ctx, &ec2.DescribeVpcsInput{ + Filters: []types.Filter{ + {Name: &vpcFilterStr, Values: []string{cidrBlock}}, + }, + }) + + if err != nil { + tk.LogIt(tk.LogError, "DescribeVpcs failed (%s)\n", err) + return err + } + if len(vpcOut.Vpcs) > 1 { + // This is an improbable condition. We simply log it here + tk.LogIt(tk.LogError, "cidrBlock (%s) in multiple VPCs\n", cidrBlock) + } else if len(vpcOut.Vpcs) == 1 { + if vpcOut.Vpcs[0].VpcId != nil && *vpcOut.Vpcs[0].VpcId != vpcID { + dissAssoc := false + for _, cbAs := range vpcOut.Vpcs[0].CidrBlockAssociationSet { + if cbAs.CidrBlock != nil && *cbAs.CidrBlock == cidrBlock { + // CIDR is not in the current VPC. There should be no attached subnets/interfaces at this point + _, err := ec2Client.DisassociateVpcCidrBlock(ctx, &ec2.DisassociateVpcCidrBlockInput{AssociationId: cbAs.AssociationId}) + if err != nil { + tk.LogIt(tk.LogError, "cidrBlock (%s) dissassociate failed in VPC %s:%s\n", cidrBlock, *vpcOut.Vpcs[0].VpcId, err) + return err + } + dissAssoc = true + break + } + } + + if dissAssoc { + // Reassociate this CIDR block + _, err := ec2Client.AssociateVpcCidrBlock(ctx, + &ec2.AssociateVpcCidrBlockInput{VpcId: &vpcID, CidrBlock: &cidrBlock}) + if err != nil { + tk.LogIt(tk.LogError, "cidrBlock (%s) asassociate failed in VPC %s:%s\n", cidrBlock, vpcID, err) + return err + } + } + } + } + ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) defer cancel3() @@ -248,7 +291,6 @@ func AWSPrepVIPNetwork() error { return err } - cidrBlock := awsCIDRnet.String() subnetTag := types.Tag{Key: &loxilbKey, Value: &loxilbSubNetKeyVal} subnetTags := []types.Tag{subnetTag} subOutput, err := ec2Client.CreateSubnet(ctx3, &ec2.CreateSubnetInput{ From 733e258bbc292549268d35f7928c1f2e2e11489d Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Wed, 12 Jun 2024 22:41:40 +0900 Subject: [PATCH 041/171] gh-681 - multi-VPC support --- pkg/loxinet/utils_aws.go | 70 ++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 058551240..3cbdf6cbf 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -231,9 +231,20 @@ func AWSPrepVIPNetwork() error { } } + ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) + defer cancel3() + + for _, subnet := range subnets { + _, err := ec2Client.DeleteSubnet(ctx3, &ec2.DeleteSubnetInput{SubnetId: &subnet}) + if err != nil { + tk.LogIt(tk.LogError, "failed to delete subnet (%s):%s\n", subnet, err) + return err + } + } + cidrBlock := awsCIDRnet.String() vpcFilterStr := "cidr-block-association.cidr-block" - vpcOut, err := ec2Client.DescribeVpcs(ctx, &ec2.DescribeVpcsInput{ + vpcOut, err := ec2Client.DescribeVpcs(ctx3, &ec2.DescribeVpcsInput{ Filters: []types.Filter{ {Name: &vpcFilterStr, Values: []string{cidrBlock}}, }, @@ -243,45 +254,34 @@ func AWSPrepVIPNetwork() error { tk.LogIt(tk.LogError, "DescribeVpcs failed (%s)\n", err) return err } - if len(vpcOut.Vpcs) > 1 { - // This is an improbable condition. We simply log it here - tk.LogIt(tk.LogError, "cidrBlock (%s) in multiple VPCs\n", cidrBlock) - } else if len(vpcOut.Vpcs) == 1 { - if vpcOut.Vpcs[0].VpcId != nil && *vpcOut.Vpcs[0].VpcId != vpcID { - dissAssoc := false - for _, cbAs := range vpcOut.Vpcs[0].CidrBlockAssociationSet { - if cbAs.CidrBlock != nil && *cbAs.CidrBlock == cidrBlock { - // CIDR is not in the current VPC. There should be no attached subnets/interfaces at this point - _, err := ec2Client.DisassociateVpcCidrBlock(ctx, &ec2.DisassociateVpcCidrBlockInput{AssociationId: cbAs.AssociationId}) - if err != nil { - tk.LogIt(tk.LogError, "cidrBlock (%s) dissassociate failed in VPC %s:%s\n", cidrBlock, *vpcOut.Vpcs[0].VpcId, err) - return err + if len(vpcOut.Vpcs) >= 1 { + dissAssoc := false + for _, vpc := range vpcOut.Vpcs { + if vpc.VpcId != nil && *vpc.VpcId != vpcID { + for _, cbAs := range vpc.CidrBlockAssociationSet { + if cbAs.CidrBlockState != nil && cbAs.CidrBlockState.State == types.VpcCidrBlockStateCodeAssociated && + cbAs.CidrBlock != nil && *cbAs.CidrBlock == cidrBlock { + // CIDR is not in the current VPC. There should be no attached subnets/interfaces at this point + _, err := ec2Client.DisassociateVpcCidrBlock(ctx3, &ec2.DisassociateVpcCidrBlockInput{AssociationId: cbAs.AssociationId}) + if err != nil { + tk.LogIt(tk.LogError, "cidrBlock (%s) dissassociate failed in VPC %s:%s\n", cidrBlock, *vpcOut.Vpcs[0].VpcId, err) + return err + } + dissAssoc = true + break } - dissAssoc = true - break - } - } - - if dissAssoc { - // Reassociate this CIDR block - _, err := ec2Client.AssociateVpcCidrBlock(ctx, - &ec2.AssociateVpcCidrBlockInput{VpcId: &vpcID, CidrBlock: &cidrBlock}) - if err != nil { - tk.LogIt(tk.LogError, "cidrBlock (%s) asassociate failed in VPC %s:%s\n", cidrBlock, vpcID, err) - return err } } } - } - ctx3, cancel3 := context.WithTimeout(context.Background(), time.Duration(time.Second*30)) - defer cancel3() - - for _, subnet := range subnets { - _, err := ec2Client.DeleteSubnet(ctx3, &ec2.DeleteSubnetInput{SubnetId: &subnet}) - if err != nil { - tk.LogIt(tk.LogError, "failed to delete subnet (%s):%s\n", subnet, err) - return err + if dissAssoc { + // Reassociate this CIDR block + _, err := ec2Client.AssociateVpcCidrBlock(ctx, + &ec2.AssociateVpcCidrBlockInput{VpcId: &vpcID, CidrBlock: &cidrBlock}) + if err != nil { + tk.LogIt(tk.LogError, "cidrBlock (%s) asassociate failed in VPC %s:%s\n", cidrBlock, vpcID, err) + return err + } } } From a57faeeb7670ae22cc21cb6270b767caef2816e7 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Wed, 12 Jun 2024 22:59:58 +0900 Subject: [PATCH 042/171] gh-681 - multi-VPC support: Added info logs --- pkg/loxinet/utils_aws.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 3cbdf6cbf..2ce2e4410 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -266,6 +266,8 @@ func AWSPrepVIPNetwork() error { if err != nil { tk.LogIt(tk.LogError, "cidrBlock (%s) dissassociate failed in VPC %s:%s\n", cidrBlock, *vpcOut.Vpcs[0].VpcId, err) return err + } else { + tk.LogIt(tk.LogInfo, "cidrBlock (%s) dissassociated from VPC %s\n", cidrBlock, *vpcOut.Vpcs[0].VpcId) } dissAssoc = true break @@ -279,8 +281,10 @@ func AWSPrepVIPNetwork() error { _, err := ec2Client.AssociateVpcCidrBlock(ctx, &ec2.AssociateVpcCidrBlockInput{VpcId: &vpcID, CidrBlock: &cidrBlock}) if err != nil { - tk.LogIt(tk.LogError, "cidrBlock (%s) asassociate failed in VPC %s:%s\n", cidrBlock, vpcID, err) + tk.LogIt(tk.LogError, "cidrBlock (%s) associate failed in VPC %s:%s\n", cidrBlock, vpcID, err) return err + } else { + tk.LogIt(tk.LogError, "cidrBlock (%s) associated to VPC %s\n", cidrBlock, vpcID) } } } From 6d73993c08eed3b38fb58d1a5c680e2d54d3c071 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 13 Jun 2024 16:03:14 +0900 Subject: [PATCH 043/171] Merging issues resolved --- pkg/loxinet/rules.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index 44f73919e..dff60d3ab 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -2294,6 +2294,9 @@ func (R *RuleH) RulesSync() { if ip == nil { ip = net.ParseIP(vip) } + if ip != nil { + R.AdvRuleVIPIfL2(ip, net.ParseIP(vip)) + } } R.vipST = time.Now() } From 5bf83ee5961e6da3c0a32ccc0e06043279b06512 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 20 Jun 2024 02:30:58 +0900 Subject: [PATCH 044/171] gh-681 - added logs for elasticIP operations --- pkg/loxinet/utils_aws.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 2ce2e4410..4bb39da67 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -532,6 +532,8 @@ func AWSAssociateElasticIp(vIP, eIP net.IP, add bool) error { tk.LogIt(tk.LogError, "AWS get elastic IP failed: %v\n", err) return err } + + tk.LogIt(tk.LogInfo, "AWS adding elastic IP : %s\n", eIP.String()) if !add { return AWSDisassociateElasticIpWithInterface(ctx, eipAssociateID, niID) } @@ -547,12 +549,16 @@ func AWSAssociateElasticIpWithInterface(ctx context.Context, eipID, niID string, } if privateIP != nil { if err := AWSCreatePrivateIp(ctx, niID, privateIP); err != nil { + tk.LogIt(tk.LogError, "AWS create priv IP failed: %s\n", err) return err } ipstr := privateIP.String() input.PrivateIpAddress = &ipstr } _, err := ec2Client.AssociateAddress(ctx, input) + if err != nil { + tk.LogIt(tk.LogError, "AWS associate address eIP failed: %s\n", err) + } return err } From 29e488c89c0b3af3956a8650ea1b9d502c759180 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 20 Jun 2024 10:44:37 +0900 Subject: [PATCH 045/171] gh-681 - Make sure loxi-eni is setup before associating ElasticIP --- pkg/loxinet/rules.go | 2 ++ pkg/loxinet/utils_aws.go | 41 ++++++++++++++++++++++++++++++++++++++ pkg/loxinet/utils_cloud.go | 6 ++++++ 3 files changed, 49 insertions(+) diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index dff60d3ab..99fec110d 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -2801,6 +2801,8 @@ func (R *RuleH) RuleVIPSyncToClusterState() { ciState, _ := mh.has.CIStateGetInst(cmn.CIDefault) if ciState == "MASTER" { CloudPrepareVIPNetWork() + } else if ciState == "BACKUP" { + CloudUnPrepareVIPNetWork() } for vip, vipElem := range R.vipMap { diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 4bb39da67..58a011c8b 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -419,6 +419,41 @@ retry: return nil } +func AWSUnPrepVIPNetwork() error { + _, defaultDst, _ := net.ParseCIDR("0.0.0.0/0") + if intfENIName == "" { + tk.LogIt(tk.LogError, "failed to get ENI intf name (%s)\n", intfENIName) + return nil + } + + _, err := nl.LinkByName(intfENIName) + if err != nil { + intfENIName = "" + tk.LogIt(tk.LogError, "failed to get ENI link (%s)\n", intfENIName) + return err + } + + mh.zr.Rt.RtDelete(*defaultDst, RootZone) + intfENIName = "" + + chkIP := net.ParseIP("8.8.8.8") + defaultRT, err := nl.RouteGet(chkIP) + if err != nil { + tk.LogIt(tk.LogError, "AWSUnPrepVIPNetwork(): failed to get sys default route\n") + return err + } + + ra := RtAttr{HostRoute: false, Ifi: defaultRT[0].LinkIndex, IfRoute: false} + na := []RtNhAttr{{defaultRT[0].Gw, defaultRT[0].LinkIndex}} + _, err = mh.zr.Rt.RtAdd(*defaultDst, RootZone, ra, na) + if err != nil { + tk.LogIt(tk.LogError, "failed to set loxidefault gw %s\n", defaultRT[0].Gw.String()) + return err + } + + return nil +} + func AWSGetNetworkInterface(ctx context.Context, instanceID string, vIP net.IP) (string, error) { filterStr := "attachment.instance-id" output, err := ec2Client.DescribeNetworkInterfaces(ctx, &ec2.DescribeNetworkInterfacesInput{ @@ -512,6 +547,12 @@ func AWSUpdatePrivateIP(vIP net.IP, add bool) error { } func AWSAssociateElasticIp(vIP, eIP net.IP, add bool) error { + + if intfENIName == "" { + tk.LogIt(tk.LogError, "associate elasticIP: failed to get ENI intf name\n") + return errors.New("no loxi-eni found") + } + ctx, cancel := context.WithTimeout(context.Background(), time.Second*30) defer cancel() diff --git a/pkg/loxinet/utils_cloud.go b/pkg/loxinet/utils_cloud.go index 683977bc7..c426a745c 100644 --- a/pkg/loxinet/utils_cloud.go +++ b/pkg/loxinet/utils_cloud.go @@ -42,3 +42,9 @@ func CloudPrepareVIPNetWork() { AWSPrepVIPNetwork() } } + +func CloudUnPrepareVIPNetWork() { + if mh.cloudLabel == "aws" { + AWSUnPrepVIPNetwork() + } +} From 095cf197a9cd88987c3d9133b08aa86bca58d69a Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 20 Jun 2024 16:17:32 +0900 Subject: [PATCH 046/171] chore: updated to latest lib --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 3388bc545..27d23b94b 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/go-openapi/validate v0.22.0 github.com/jessevdk/go-flags v1.5.0 github.com/loxilb-io/ipvs v0.1.0 - github.com/loxilb-io/loxilib v0.8.9-0.20240124072521-f37fbddfb4e8 + github.com/loxilb-io/loxilib v0.8.9-0.20240620071157-28d3880edd8f github.com/osrg/gobgp/v3 v3.5.0 github.com/prometheus-community/pro-bing v0.1.0 github.com/prometheus/client_model v0.3.0 diff --git a/go.sum b/go.sum index d4e63d3d3..bf726af99 100644 --- a/go.sum +++ b/go.sum @@ -294,6 +294,8 @@ github.com/loxilb-io/ipvs v0.1.0 h1:TpTkwh5CLgJ7YW86rvWyqJPEpQFqs2TNbRG/IECeq+w= github.com/loxilb-io/ipvs v0.1.0/go.mod h1:EKjimnzyVL9AXMMNfPWeokxF1uNeuDrEGF5gPFMdmIo= github.com/loxilb-io/loxilib v0.8.9-0.20240124072521-f37fbddfb4e8 h1:PYkgIX2fv1UluRR82SAot3O5YnwwCbcWc7VULvPv3QM= github.com/loxilb-io/loxilib v0.8.9-0.20240124072521-f37fbddfb4e8/go.mod h1:LoQCxBz+N0fO9rGwRmPHrQPHol/jUf4MNpph63Cydkg= +github.com/loxilb-io/loxilib v0.8.9-0.20240620071157-28d3880edd8f h1:Zeas0eEF60hK+UwMp9QRqPtUuFQV6pC0X2re+yuqCEM= +github.com/loxilb-io/loxilib v0.8.9-0.20240620071157-28d3880edd8f/go.mod h1:LoQCxBz+N0fO9rGwRmPHrQPHol/jUf4MNpph63Cydkg= github.com/loxilb-io/sctp v0.0.0-20230519081703-6d1baec82fd4 h1:oDc2lsbfuQEcVP3k+Pw4v6Xdm3t4M9vBc1Y9egszv6g= github.com/loxilb-io/sctp v0.0.0-20230519081703-6d1baec82fd4/go.mod h1:1a6hv8ISVQhnW5IVpW9o+OL6BAFlWiVpC0O4d19g+wQ= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= From 50314e77cb4a162eba502d4831df4e3b2443e5aa Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 20 Jun 2024 23:53:09 +0900 Subject: [PATCH 047/171] gh-696 - Better handling if CIDR does not already exist in a given VPC --- pkg/loxinet/utils_aws.go | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/pkg/loxinet/utils_aws.go b/pkg/loxinet/utils_aws.go index 58a011c8b..4ed22a759 100644 --- a/pkg/loxinet/utils_aws.go +++ b/pkg/loxinet/utils_aws.go @@ -254,13 +254,17 @@ func AWSPrepVIPNetwork() error { tk.LogIt(tk.LogError, "DescribeVpcs failed (%s)\n", err) return err } + needCIDRAssoc := true if len(vpcOut.Vpcs) >= 1 { - dissAssoc := false for _, vpc := range vpcOut.Vpcs { - if vpc.VpcId != nil && *vpc.VpcId != vpcID { + if vpc.VpcId != nil { for _, cbAs := range vpc.CidrBlockAssociationSet { if cbAs.CidrBlockState != nil && cbAs.CidrBlockState.State == types.VpcCidrBlockStateCodeAssociated && cbAs.CidrBlock != nil && *cbAs.CidrBlock == cidrBlock { + if *vpc.VpcId == vpcID { + needCIDRAssoc = false + break + } // CIDR is not in the current VPC. There should be no attached subnets/interfaces at this point _, err := ec2Client.DisassociateVpcCidrBlock(ctx3, &ec2.DisassociateVpcCidrBlockInput{AssociationId: cbAs.AssociationId}) if err != nil { @@ -269,23 +273,22 @@ func AWSPrepVIPNetwork() error { } else { tk.LogIt(tk.LogInfo, "cidrBlock (%s) dissassociated from VPC %s\n", cidrBlock, *vpcOut.Vpcs[0].VpcId) } - dissAssoc = true break } } } } + } - if dissAssoc { - // Reassociate this CIDR block - _, err := ec2Client.AssociateVpcCidrBlock(ctx, - &ec2.AssociateVpcCidrBlockInput{VpcId: &vpcID, CidrBlock: &cidrBlock}) - if err != nil { - tk.LogIt(tk.LogError, "cidrBlock (%s) associate failed in VPC %s:%s\n", cidrBlock, vpcID, err) - return err - } else { - tk.LogIt(tk.LogError, "cidrBlock (%s) associated to VPC %s\n", cidrBlock, vpcID) - } + if needCIDRAssoc { + // Reassociate this CIDR block + _, err := ec2Client.AssociateVpcCidrBlock(ctx, + &ec2.AssociateVpcCidrBlockInput{VpcId: &vpcID, CidrBlock: &cidrBlock}) + if err != nil { + tk.LogIt(tk.LogError, "cidrBlock (%s) associate failed in VPC %s:%s\n", cidrBlock, vpcID, err) + return err + } else { + tk.LogIt(tk.LogError, "cidrBlock (%s) associated to VPC %s\n", cidrBlock, vpcID) } } From c17a12013327040fec711c66aeab25eb91c3420c Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Wed, 10 Jul 2024 23:48:27 +0900 Subject: [PATCH 048/171] gh-48 fullproxy fixes for cicd runs --- .github/workflows/advanced-lb-sanity.yml | 12 ++++++------ loxilb-ebpf | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/advanced-lb-sanity.yml b/.github/workflows/advanced-lb-sanity.yml index 23549a666..ed53500fc 100644 --- a/.github/workflows/advanced-lb-sanity.yml +++ b/.github/workflows/advanced-lb-sanity.yml @@ -107,9 +107,9 @@ jobs: ./validation.sh ./rmconfig.sh cd - - #- run: | - # cd cicd/httpsproxy/ - # ./config.sh - # ./validation.sh - # ./rmconfig.sh - # cd - + - run: | + cd cicd/httpsproxy/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - diff --git a/loxilb-ebpf b/loxilb-ebpf index ce219cbe4..599359117 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit ce219cbe43efb89bb39e6f063f751bfbe0a48903 +Subproject commit 5993591178537c835398f6316a4958be9ddc3a1c From a1877d5c2393195885a9ac1fc0615f2e3f5617b1 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 12 Jul 2024 01:52:45 +0900 Subject: [PATCH 049/171] gh-48 fullproxy fixes for cicd run --- api/models/route_get_entry.go | 2 +- api/restapi/embedded_spec.go | 4 ++-- api/restapi/handler/route.go | 19 +++++++++++++--- api/swagger.yml | 2 +- pkg/loxinet/dpebpf_linux.go | 7 ++++++ pkg/loxinet/layer2.go | 30 +++++++++++++++++++++++-- pkg/loxinet/layer3.go | 28 +++++++++++++++++++++++ pkg/loxinet/neighbor.go | 42 +++++++++++++++++++---------------- pkg/loxinet/route.go | 2 +- pkg/loxinet/zones.go | 1 + 10 files changed, 108 insertions(+), 29 deletions(-) diff --git a/api/models/route_get_entry.go b/api/models/route_get_entry.go index f83534b4e..e0c59c4c8 100644 --- a/api/models/route_get_entry.go +++ b/api/models/route_get_entry.go @@ -32,7 +32,7 @@ type RouteGetEntry struct { HardwareMark int64 `json:"hardwareMark,omitempty"` // Route protocol - Protocol int64 `json:"protocol,omitempty"` + Protocol string `json:"protocol,omitempty"` // statistic Statistic *RouteGetEntryStatistic `json:"statistic,omitempty"` diff --git a/api/restapi/embedded_spec.go b/api/restapi/embedded_spec.go index ffc261a15..5c6de6b87 100644 --- a/api/restapi/embedded_spec.go +++ b/api/restapi/embedded_spec.go @@ -5441,7 +5441,7 @@ func init() { }, "protocol": { "description": "Route protocol", - "type": "integer" + "type": "string" }, "statistic": { "type": "object", @@ -11859,7 +11859,7 @@ func init() { }, "protocol": { "description": "Route protocol", - "type": "integer" + "type": "string" }, "statistic": { "type": "object", diff --git a/api/restapi/handler/route.go b/api/restapi/handler/route.go index c911bfe7f..7d4515f82 100644 --- a/api/restapi/handler/route.go +++ b/api/restapi/handler/route.go @@ -17,13 +17,13 @@ package handler import ( "fmt" - "strings" - "github.com/go-openapi/runtime/middleware" "github.com/loxilb-io/loxilb/api/loxinlp" "github.com/loxilb-io/loxilb/api/models" "github.com/loxilb-io/loxilb/api/restapi/operations" tk "github.com/loxilb-io/loxilib" + "strconv" + "strings" ) func ConfigPostRoute(params operations.PostConfigRouteParams) middleware.Responder { @@ -58,7 +58,20 @@ func ConfigGetRoute(params operations.GetConfigRouteAllParams) middleware.Respon tmpResult.Flags = strings.TrimSpace(route.Flags) tmpResult.Gateway = route.Gw tmpResult.HardwareMark = int64(route.HardwareMark) - tmpResult.Protocol = int64(route.Protocol) + protoStr := strconv.Itoa(route.Protocol) + switch route.Protocol { + case 0: + protoStr = "unspec" + case 1: + protoStr = "redirect" + case 2: + protoStr = "kernel" + case 3: + protoStr = "boot" + case 4: + protoStr = "static" + } + tmpResult.Protocol = protoStr tmpResult.Sync = int64(route.Sync) tmpStats := new(models.RouteGetEntryStatistic) diff --git a/api/swagger.yml b/api/swagger.yml index adca60e68..4b47fd023 100644 --- a/api/swagger.yml +++ b/api/swagger.yml @@ -2958,7 +2958,7 @@ definitions: type: integer description: index of the route protocol: - type: integer + type: string description: Route protocol flags: type: string diff --git a/pkg/loxinet/dpebpf_linux.go b/pkg/loxinet/dpebpf_linux.go index 243d8688d..7f56c7275 100644 --- a/pkg/loxinet/dpebpf_linux.go +++ b/pkg/loxinet/dpebpf_linux.go @@ -723,9 +723,16 @@ func DpRouterMacMod(w *RouterMacDpWorkQ) int { unsafe.Pointer(dat)) if ret != 0 { + if w.Status != nil { + *w.Status = DpCreateErr + } return EbpfErrTmacAdd } + if w.Status != nil { + *w.Status = 0 + } + return 0 } else if w.Work == DpRemove { diff --git a/pkg/loxinet/layer2.go b/pkg/loxinet/layer2.go index cc1961c1d..5370e8ce4 100644 --- a/pkg/loxinet/layer2.go +++ b/pkg/loxinet/layer2.go @@ -213,7 +213,10 @@ func (l2 *L2H) L2FdbAdd(key FdbKey, attr FdbAttr) (int, error) { p := l2.Zone.Ports.PortFindByName(attr.Oif) if p == nil || !p.SInfo.PortActive { tk.LogIt(tk.LogDebug, "fdb port not found %s\n", attr.Oif) - return L2OifErr, errors.New("no such port") + p = l2.Zone.Ports.PortFindByName("lo") + if p == nil { + return L2OifErr, errors.New("no such port") + } } fdb, found := l2.FdbMap[key] @@ -315,7 +318,19 @@ func (l2 *L2H) FdbTicker(f *FdbEnt) { // This scans for inconsistencies in a fdb // 1. Do garbage cleaning if underlying oif or vlan is not valid anymore // 2. If FDB is a TunFDB, we need to make sure NH is reachable - if f.Port.SInfo.PortActive == false { + if f.Port.Name == "lo" || f.FdbKey.BridgeID != f.Port.L2.Vid { + p := l2.Zone.Ports.PortFindByName(f.FdbAttr.Oif) + if p != nil && p.SInfo.PortActive { + if f.Port.L2.Vid != f.FdbKey.BridgeID { + tk.LogIt(tk.LogDebug, "fdb ent, %v BD mismatch\n", f) + return + } + tk.LogIt(tk.LogDebug, "fdb ent, %v - reset port: %s\n", f, p.Name) + f.Port = p + // Force Resync + f.Sync = DpCreateErr + } + } else if f.Port.SInfo.PortActive == false { l2.L2FdbDel(f.FdbKey) } else if f.unReach == true { tk.LogIt(tk.LogDebug, "unrch scan - %v\n", f) @@ -383,10 +398,21 @@ func (l2 *L2H) L2DestructAll() { // DP - Sync state of L2 entities to data-path func (f *FdbEnt) DP(work DpWorkT) int { + if f.Port.Name == "lo" { + f.Sync = DpCreateErr + return -1 + } + if work == DpCreate && f.unReach == true { return 0 } + if f.Port.L2.Vid != f.FdbKey.BridgeID { + tk.LogIt(tk.LogDebug, "fdb ent, can't sync %v (%v)\n", f.FdbKey, f.Port.L2.Vid) + f.Sync = DpCreateErr + return -1 + } + l2Wq := new(L2AddrDpWorkQ) l2Wq.Work = work l2Wq.Status = &f.Sync diff --git a/pkg/loxinet/layer3.go b/pkg/loxinet/layer3.go index c2a01cea4..5716f2a14 100644 --- a/pkg/loxinet/layer3.go +++ b/pkg/loxinet/layer3.go @@ -523,11 +523,37 @@ func (l3 *L3H) IfaGet() []cmn.IPAddrGet { return ret } +// IfaTicker - Periodic ticker for checking Ifas +func (l3 *L3H) IfasTicker() { + for _, ifa := range l3.IfaMap { + if ifa.Key.Obj == "lo" { + continue + } + + canSync := false + for _, ifaEnt := range ifa.Ifas { + canSync = true + if ifaEnt.Secondary { + continue + } + } + + if canSync && ifa.Sync != 0 { + tk.LogIt(tk.LogDebug, "defer resync ifa obj : %s\n", ifa.Key.Obj) + ifa.DP(DpCreate) + } + } +} + // DP - Sync state of L3 entities to data-path func (ifa *Ifa) DP(work DpWorkT) int { port := ifa.Zone.Ports.PortFindByName(ifa.Key.Obj) if port == nil { + if ifa.Key.Obj != "lo" { + tk.LogIt(tk.LogError, "No such obj : %s\n", ifa.Key.Obj) + ifa.Sync = DpCreateErr + } return -1 } @@ -549,6 +575,7 @@ func (ifa *Ifa) DP(work DpWorkT) int { rmWq.L2Addr[i] = uint8(port.HInfo.MacAddr[i]) } + rmWq.Name = port.Name rmWq.PortNum = port.PortNo mh.dp.ToDpCh <- rmWq @@ -572,6 +599,7 @@ func (ifa *Ifa) DP(work DpWorkT) int { rmWq.TunID = port.HInfo.TunID rmWq.TunType = DpTunVxlan rmWq.BD = port.L2.Vid + rmWq.Name = up.Name mh.dp.ToDpCh <- rmWq diff --git a/pkg/loxinet/neighbor.go b/pkg/loxinet/neighbor.go index 07f605045..7e02a8e28 100644 --- a/pkg/loxinet/neighbor.go +++ b/pkg/loxinet/neighbor.go @@ -361,11 +361,13 @@ func (n *NeighH) NeighAdd(Addr net.IP, Zone string, Attr NeighAttr) (int, error) zeroHwAddr, _ := net.ParseMAC("00:00:00:00:00:00") ne, found := n.NeighMap[key] + add2Map := !found + port := n.Zone.Ports.PortFindByOSID(Attr.OSLinkIndex) if port == nil { tk.LogIt(tk.LogError, "neigh add - %s:%s no oport\n", Addr.String(), Zone) if !found { - n.NeighMap[key] = &Neigh{Dummy: true, Attr: Attr, NhRtm: make(map[RtKey]*Rt)} + n.NeighMap[key] = &Neigh{Key: key, Dummy: true, Addr: Addr, Attr: Attr, Inactive: true, NhRtm: make(map[RtKey]*Rt)} } else { ne.Dummy = true ne.OifPort = nil @@ -392,14 +394,13 @@ func (n *NeighH) NeighAdd(Addr net.IP, Zone string, Attr NeighAttr) (int, error) ra := RtAttr{0, 0, true, Attr.OSLinkIndex, false} na := []RtNhAttr{{Addr, Attr.OSLinkIndex}} - if found == true { + if found { ne.Inactive = false ne.Dummy = false - if bytes.Equal(Attr.HardwareAddr, zeroHwAddr) == true { + if bytes.Equal(Attr.HardwareAddr, zeroHwAddr) { ne.Resolved = false } else { - if bytes.Equal(Attr.HardwareAddr, ne.Attr.HardwareAddr) == false || - ne.Resolved == false { + if !bytes.Equal(Attr.HardwareAddr, ne.Attr.HardwareAddr) || !ne.Resolved { ne.Attr.HardwareAddr = Attr.HardwareAddr ne.Resolved = true n.NeighRecursiveResolve(ne) @@ -412,30 +413,34 @@ func (n *NeighH) NeighAdd(Addr net.IP, Zone string, Attr NeighAttr) (int, error) return NeighExistsErr, errors.New("nh exists") } - idx, err = n.NeighID.GetCounter() - if err != nil { - tk.LogIt(tk.LogError, "neigh add - %s:%s no marks\n", Addr.String(), Zone) - return NeighRangeErr, errors.New("nh-hwm error") - } - if ne == nil { ne = new(Neigh) + ne.Key = key + } + + if ne.Mark == 0 { + idx, err = n.NeighID.GetCounter() + if err != nil { + tk.LogIt(tk.LogError, "neigh add - %s:%s no marks\n", Addr.String(), Zone) + return NeighRangeErr, errors.New("nh-hwm error") + } + ne.Mark = idx } ne.Dummy = false - ne.Key = key ne.Addr = Addr ne.Attr = Attr ne.OifPort = port - ne.Mark = idx ne.Type |= NhNormal if ne.NhRtm == nil { ne.NhRtm = make(map[RtKey]*Rt) } ne.Inactive = false - n.NeighRecursiveResolve(ne) - n.NeighMap[ne.Key] = ne + + if add2Map { + n.NeighMap[ne.Key] = ne + } ne.DP(DpCreate) NhExist: @@ -485,7 +490,7 @@ func (n *NeighH) NeighDelete(Addr net.IP, Zone string) (int, error) { key := NeighKey{Addr.String(), Zone} ne, found := n.NeighMap[key] - if found == false { + if !found { tk.LogIt(tk.LogError, "neigh delete - %s:%s doesnt exist\n", Addr.String(), Zone) return NeighNoEntErr, errors.New("no-nh error") } @@ -607,12 +612,12 @@ func (n *NeighH) NeighPairRt(ne *Neigh, rt *Rt) int { func (n *NeighH) NeighUnPairRt(ne *Neigh, rt *Rt) int { _, found := ne.NhRtm[rt.Key] - if found == false { + if !found { return -1 } delete(ne.NhRtm, rt.Key) - if len(ne.NhRtm) < 1 && ne.Inactive == true { + if len(ne.NhRtm) < 1 && ne.Inactive { // Safely remove tk.LogIt(tk.LogDebug, "neigh rt unpair - %s->%s\n", rt.Key.RtCidr, ne.Key.NhString) n.NeighDelete(ne.Addr, ne.Key.Zone) @@ -664,7 +669,6 @@ func (n *NeighH) NeighTicker(ne *Neigh) { _, err := zone.Nh.NeighAdd(net.ParseIP(ne.Key.NhString), ne.Key.Zone, ne.Attr) if err == nil { - tk.LogIt(tk.LogInfo, "nh defer added - %s:%s\n", ne.Key.NhString, ne.Key.Zone) } diff --git a/pkg/loxinet/route.go b/pkg/loxinet/route.go index bdec9bf54..310279be0 100644 --- a/pkg/loxinet/route.go +++ b/pkg/loxinet/route.go @@ -341,7 +341,7 @@ func (r *RtH) RtAdd(Dst net.IPNet, Zone string, Ra RtAttr, Na []RtNhAttr) (int, rt.DP(DpCreate) - tk.LogIt(tk.LogDebug, "rt added - %s:%s\n", Dst.String(), Zone) + tk.LogIt(tk.LogDebug, "rt added - %s:%s mark:%v\n", Dst.String(), Zone, rt.RtGetNhMark()) return 0, nil } diff --git a/pkg/loxinet/zones.go b/pkg/loxinet/zones.go index bfdc5392f..d77357fcd 100644 --- a/pkg/loxinet/zones.go +++ b/pkg/loxinet/zones.go @@ -238,5 +238,6 @@ func (z *ZoneH) ZoneTicker() { zone.Sess.SessionTicker() zone.Pols.PolTicker() zone.Mirrs.MirrTicker() + zone.L3.IfasTicker() } } From 1e45504d20d12baa148ee42d638838d5276b4873 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 12 Jul 2024 01:55:21 +0900 Subject: [PATCH 050/171] gh-48 fullproxy fixes for cicd run --- pkg/loxinet/layer3.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkg/loxinet/layer3.go b/pkg/loxinet/layer3.go index 5716f2a14..85e9e54a7 100644 --- a/pkg/loxinet/layer3.go +++ b/pkg/loxinet/layer3.go @@ -575,7 +575,6 @@ func (ifa *Ifa) DP(work DpWorkT) int { rmWq.L2Addr[i] = uint8(port.HInfo.MacAddr[i]) } - rmWq.Name = port.Name rmWq.PortNum = port.PortNo mh.dp.ToDpCh <- rmWq @@ -599,7 +598,6 @@ func (ifa *Ifa) DP(work DpWorkT) int { rmWq.TunID = port.HInfo.TunID rmWq.TunType = DpTunVxlan rmWq.BD = port.L2.Vid - rmWq.Name = up.Name mh.dp.ToDpCh <- rmWq From c4ebd1ac42bd1c0c13c3c9158fa25b26c494aa9a Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 12 Jul 2024 12:07:41 +0900 Subject: [PATCH 051/171] gh-48 fullproxy regression fixes for sanity cicd run --- cicd/sconnect/config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cicd/sconnect/config.sh b/cicd/sconnect/config.sh index 3f250176b..1efd37447 100755 --- a/cicd/sconnect/config.sh +++ b/cicd/sconnect/config.sh @@ -229,4 +229,4 @@ create_docker_host_vxlan --host1 llb1 --host2 l3vxh2 --id 60 --uif phy --lip 5.5 create_docker_host_vxlan --host1 llb1 --host2 l3vxh2 --id 60 --ep 5.5.5.2 config_docker_host --host1 llb1 --host2 l3vxh2 --ptype vlan --id 60 --addr 60.60.60.254/24 -sleep 25 +sleep 60 From c4e53ba339f20d6bc52000751c553df1a22916d5 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 12 Jul 2024 13:03:33 +0900 Subject: [PATCH 052/171] gh-48 fullproxy regression fixes for sanity cicd run --- pkg/loxinet/layer3.go | 3 ++- pkg/loxinet/neighbor.go | 16 ++-------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/pkg/loxinet/layer3.go b/pkg/loxinet/layer3.go index 85e9e54a7..6b153e20c 100644 --- a/pkg/loxinet/layer3.go +++ b/pkg/loxinet/layer3.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "net" + "strings" tk "github.com/loxilb-io/loxilib" @@ -550,7 +551,7 @@ func (ifa *Ifa) DP(work DpWorkT) int { port := ifa.Zone.Ports.PortFindByName(ifa.Key.Obj) if port == nil { - if ifa.Key.Obj != "lo" { + if ifa.Key.Obj != "lo" && !strings.Contains(ifa.Key.Obj, "llb-rule") { tk.LogIt(tk.LogError, "No such obj : %s\n", ifa.Key.Obj) ifa.Sync = DpCreateErr } diff --git a/pkg/loxinet/neighbor.go b/pkg/loxinet/neighbor.go index 7e02a8e28..a01cd6d74 100644 --- a/pkg/loxinet/neighbor.go +++ b/pkg/loxinet/neighbor.go @@ -456,17 +456,11 @@ NhExist: //Add a related L2 Pair entry if needed if port.IsSlavePort() == false && port.IsLeafPort() == true && ne.Resolved { var fdbAddr [6]byte - var vid int for i := 0; i < 6; i++ { fdbAddr[i] = uint8(ne.Attr.HardwareAddr[i]) } - if port.SInfo.PortType&cmn.PortReal != 0 { - vid = port.PortNo + RealPortIDB - } else { - vid = port.PortNo + BondIDB - } - fdbKey := FdbKey{fdbAddr, vid} + fdbKey := FdbKey{fdbAddr, port.L2.Vid} fdbAttr := FdbAttr{port.Name, net.ParseIP("0.0.0.0"), cmn.FdbPhy} code, err := n.Zone.L2.L2FdbAdd(fdbKey, fdbAttr) @@ -518,17 +512,11 @@ func (n *NeighH) NeighDelete(Addr net.IP, Zone string) (int, error) { port := ne.OifPort if port != nil && port.IsSlavePort() == false && port.IsLeafPort() == true && ne.Resolved { var fdbAddr [6]byte - var vid int for i := 0; i < 6; i++ { fdbAddr[i] = uint8(ne.Attr.HardwareAddr[i]) } - if port.SInfo.PortType&cmn.PortReal != 0 { - vid = port.PortNo + RealPortIDB - } else { - vid = port.PortNo + BondIDB - } - fdbKey := FdbKey{fdbAddr, vid} + fdbKey := FdbKey{fdbAddr, port.L2.Vid} n.Zone.L2.L2FdbDel(fdbKey) } From 5f9b94dbca7d1097ec58e5ff04ca6e6bbf831802 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Mon, 15 Jul 2024 17:33:53 +0900 Subject: [PATCH 053/171] gh-730 Initial support for ecmp load-balancing --- api/loxinlp/nlp.go | 75 +++++++++++++++++++++++++------------ common/common.go | 14 +++++-- loxilb-ebpf | 2 +- pkg/loxinet/apiclient.go | 17 ++++++--- pkg/loxinet/dpbroker.go | 3 +- pkg/loxinet/dpebpf_linux.go | 13 +++++-- pkg/loxinet/route.go | 50 +++++++++++++++---------- 7 files changed, 116 insertions(+), 58 deletions(-) diff --git a/api/loxinlp/nlp.go b/api/loxinlp/nlp.go index 4bdce6cf9..5f85db543 100644 --- a/api/loxinlp/nlp.go +++ b/api/loxinlp/nlp.go @@ -1189,8 +1189,18 @@ func AddRoute(route nlp.Route) int { ipNet = *route.Dst } - ret, err := hooks.NetRouteAdd(&cmn.RouteMod{Protocol: int(route.Protocol), Flags: route.Flags, - Gw: route.Gw, LinkIndex: route.LinkIndex, Dst: ipNet}) + var gws []cmn.GWInfo + + if len(route.MultiPath) <= 0 { + gw := cmn.GWInfo{Gw: route.Gw, LinkIndex: route.LinkIndex} + gws = append(gws, gw) + } else { + for i := range route.MultiPath { + gws = append(gws, cmn.GWInfo{Gw: route.MultiPath[i].Gw, LinkIndex: route.MultiPath[i].LinkIndex}) + } + } + + ret, err := hooks.NetRouteAdd(&cmn.RouteMod{Protocol: int(route.Protocol), Flags: route.Flags, Dst: ipNet, GWs: gws}) if err != nil { if route.Gw != nil { tk.LogIt(tk.LogError, "[NLP] RT %s via %s proto %d add failed-%s\n", ipNet.String(), @@ -1350,14 +1360,28 @@ func NUWorkSingle(m nlp.NeighUpdate) int { func RUWorkSingle(m nlp.RouteUpdate) int { var ret int - link, err := nlp.LinkByIndex(m.LinkIndex) - if err != nil { - fmt.Println(err) - return -1 - } + if len(m.MultiPath) <= 0 { + link, err := nlp.LinkByIndex(m.LinkIndex) + if err != nil { + tk.LogIt(tk.LogError, "RUWorkSingle: link find error %s", err) + return -1 + } - if iSBlackListedIntf(link.Attrs().Name, link.Attrs().MasterIndex) { - return -1 + if iSBlackListedIntf(link.Attrs().Name, link.Attrs().MasterIndex) { + return -1 + } + } else { + for _, path := range m.MultiPath { + link, err := nlp.LinkByIndex(path.LinkIndex) + if err != nil { + tk.LogIt(tk.LogError, "RUWorkSingle: link find error %s", err) + return -1 + } + + if iSBlackListedIntf(link.Attrs().Name, link.Attrs().MasterIndex) { + return -1 + } + } } if skipIfRoute { @@ -1559,25 +1583,28 @@ func NlpGet(ch chan bool) int { AddNeigh(neigh, link) } } + } - /* Get Routes */ - routes, err := nlp.RouteList(link, nlp.FAMILY_ALL) - if err != nil { - tk.LogIt(tk.LogError, "[NLP] Error getting route list %v\n", err) - } + /* Get Routes */ + routes, err := nlp.RouteList(nil, nlp.FAMILY_ALL) + if err != nil { + tk.LogIt(tk.LogError, "[NLP] Error getting route list %v\n", err) + } - if len(routes) == 0 { - tk.LogIt(tk.LogDebug, "[NLP] No STATIC routes found for intf %s\n", link.Attrs().Name) - } else { - for _, route := range routes { - if skipIfRoute { - if route.Scope.String() == "link" && tk.IsNetIPv4(route.Dst.IP.String()) { - continue - } + if len(routes) == 0 { + tk.LogIt(tk.LogDebug, "[NLP] No STATIC routes found\n") + } else { + for _, route := range routes { + var m nlp.RouteUpdate + if skipIfRoute { + if route.Scope.String() == "link" && tk.IsNetIPv4(route.Dst.IP.String()) { + continue } - - AddRoute(route) } + m.Type = syscall.RTM_NEWROUTE + m.Route = route + + RUWorkSingle(m) } } tk.LogIt(tk.LogInfo, "[NLP] nlp get done\n") diff --git a/common/common.go b/common/common.go index e4395d4b0..687b892e0 100644 --- a/common/common.go +++ b/common/common.go @@ -369,16 +369,22 @@ type RouteGet struct { Sync DpStatusT } +// GWInfo - Info about gateway +type GWInfo struct { + // Gw - gateway information if any + Gw net.IP + // LinkIndex - OS allocated index + LinkIndex int +} + // RouteMod - Info about a route type RouteMod struct { // Protocol - Protocol type Protocol int // Flags - flag type Flags int - // Gw - gateway information if any - Gw net.IP - // LinkIndex - OS allocated index - LinkIndex int + // GWs - gateway information if any + GWs []GWInfo // Dst - ip addr Dst net.IPNet } diff --git a/loxilb-ebpf b/loxilb-ebpf index 599359117..d34f73f20 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit 5993591178537c835398f6316a4958be9ddc3a1c +Subproject commit d34f73f20de8e062ab5a4af720da8b1f9637d11e diff --git a/pkg/loxinet/apiclient.go b/pkg/loxinet/apiclient.go index f82f8bfd5..9b6a8b94d 100644 --- a/pkg/loxinet/apiclient.go +++ b/pkg/loxinet/apiclient.go @@ -279,25 +279,32 @@ func (na *NetAPIStruct) NetRouteAdd(rm *cmn.RouteMod) (int, error) { var ret int var err error + if len(rm.GWs) <= 0 { + return RtNhErr, errors.New("invalid gws") + } if na.BgpPeerMode { return RtNhErr, errors.New("running in bgp only mode") } intfRt := false mlen, _ := rm.Dst.Mask.Size() - if rm.Gw == nil { + if rm.GWs[0].Gw == nil { // This is an interface route if (tk.IsNetIPv4(rm.Dst.IP.String()) && mlen == 32) || (tk.IsNetIPv6(rm.Dst.IP.String()) && mlen == 128) { intfRt = true - rm.Gw = rm.Dst.IP + rm.GWs[0].Gw = rm.Dst.IP } } mh.mtx.Lock() defer mh.mtx.Unlock() - ra := RtAttr{Protocol: rm.Protocol, OSFlags: rm.Flags, HostRoute: false, Ifi: rm.LinkIndex, IfRoute: intfRt} - if rm.Gw != nil { - na := []RtNhAttr{{rm.Gw, rm.LinkIndex}} + ra := RtAttr{Protocol: rm.Protocol, OSFlags: rm.Flags, HostRoute: false, Ifi: rm.GWs[0].LinkIndex, IfRoute: intfRt} + if rm.GWs[0].Gw != nil { + var na []RtNhAttr + for _, gw := range rm.GWs { + na = append(na, RtNhAttr{gw.Gw, gw.LinkIndex}) + } ret, err = mh.zr.Rt.RtAdd(rm.Dst, RootZone, ra, na) + } else { ret, err = mh.zr.Rt.RtAdd(rm.Dst, RootZone, ra, nil) } diff --git a/pkg/loxinet/dpbroker.go b/pkg/loxinet/dpbroker.go index 0818a20d6..c30f3294a 100644 --- a/pkg/loxinet/dpbroker.go +++ b/pkg/loxinet/dpbroker.go @@ -168,7 +168,8 @@ type RouteDpWorkQ struct { Dst net.IPNet RtType int RtMark int - NMark int + NMax int + NMark [8]int } // StatDpWorkQ - work queue entry for stat operation diff --git a/pkg/loxinet/dpebpf_linux.go b/pkg/loxinet/dpebpf_linux.go index 7f56c7275..4fe84e699 100644 --- a/pkg/loxinet/dpebpf_linux.go +++ b/pkg/loxinet/dpebpf_linux.go @@ -698,7 +698,7 @@ func DpRouterMacMod(w *RouterMacDpWorkQ) int { rtNhAct := (*rtNhAct)(getPtrOffset(unsafe.Pointer(dat), C.sizeof_struct_dp_cmn_act)) C.memset(unsafe.Pointer(rtNhAct), 0, C.sizeof_struct_dp_rt_nh_act) - rtNhAct.nh_num = 0 + rtNhAct.nh_num[0] = 0 rtNhAct.tid = 0 rtNhAct.bd = C.ushort(w.BD) } else { @@ -710,7 +710,7 @@ func DpRouterMacMod(w *RouterMacDpWorkQ) int { C.sizeof_struct_dp_cmn_act)) C.memset(unsafe.Pointer(rtNhAct), 0, C.sizeof_struct_dp_rt_nh_act) - rtNhAct.nh_num = C.ushort(w.NhNum) + rtNhAct.nh_num[0] = C.ushort(w.NhNum) tid := ((w.TunID << 8) & 0xffffff00) rtNhAct.tid = C.uint(tk.Htonl(tid)) } @@ -882,11 +882,16 @@ func DpRouteMod(w *RouteDpWorkQ) int { dat := new(rtDat) C.memset(unsafe.Pointer(dat), 0, C.sizeof_struct_dp_rt_tact) - if w.NMark >= 0 { + if w.NMax > 0 { dat.ca.act_type = C.DP_SET_RT_NHNUM act = (*rtL3NhAct)(getPtrOffset(unsafe.Pointer(dat), C.sizeof_struct_dp_cmn_act)) - act.nh_num = C.ushort(w.NMark) + act.naps = C.ushort(w.NMax) + for i := range w.NMark { + if i < C.DP_MAX_ACTIVE_PATHS { + act.nh_num[i] = C.ushort(w.NMark[i]) + } + } } else { dat.ca.act_type = C.DP_SET_TOCP } diff --git a/pkg/loxinet/route.go b/pkg/loxinet/route.go index 310279be0..7e7064a96 100644 --- a/pkg/loxinet/route.go +++ b/pkg/loxinet/route.go @@ -138,7 +138,7 @@ func (r *RtH) RtFind(Dst net.IPNet, Zone string) *Rt { key := RtKey{Dst.String(), Zone} rt, found := r.RtMap[key] - if found == true { + if found { return rt } return nil @@ -151,9 +151,12 @@ func (r *RtH) RouteGet() ([]cmn.RouteGet, error) { var tmpRt cmn.RouteGet tmpRt.Dst = rk.RtCidr tmpRt.Flags = GetFlagToString(r2.TFlags) - if len(r2.NhAttr) != 0 { - // TODO : Current multiple gw not showing. So I added as a static code - tmpRt.Gw = r2.NhAttr[0].NhAddr.String() + tmpRt.Gw = "" + for i, gw := range r2.NextHops { + if i != 0 { + tmpRt.Gw += "," + } + tmpRt.Gw += gw.Addr.String() } tmpRt.HardwareMark = int(r2.Mark) tmpRt.Protocol = r2.Attr.Protocol @@ -199,20 +202,15 @@ func (r *RtH) RtAdd(Dst net.IPNet, Zone string, Ra RtAttr, Na []RtNhAttr) (int, } } - if nhLen > 1 { - tk.LogIt(tk.LogError, "rt add - %s:%s ecmp not supported\n", Dst.String(), Zone) - return RtNhErr, errors.New("ecmp-rt error not supported") - } - rt, found := r.RtMap[key] - if found == true { + if found { rtMod := false if len(rt.NhAttr) != nhLen { rtMod = true } else { for i := 0; i < nhLen; i++ { // FIXME - Need to sort before comparing - if Na[i].NhAddr.Equal(rt.NhAttr[i].NhAddr) == false { + if !Na[i].NhAddr.Equal(rt.NhAttr[i].NhAddr) { rtMod = false break } @@ -275,7 +273,7 @@ func (r *RtH) RtAdd(Dst net.IPNet, Zone string, Ra RtAttr, Na []RtNhAttr) (int, hwmac, _ := net.ParseMAC("00:00:00:00:00:00") - for i := 0; i < len(Na); i++ { + for i := range Na { nh, _ := r.Zone.Nh.NeighFind(Na[i].NhAddr, Zone) if nh == nil { @@ -307,7 +305,7 @@ func (r *RtH) RtAdd(Dst net.IPNet, Zone string, Ra RtAttr, Na []RtNhAttr) (int, // Pair this route with appropriate neighbor //if rt.TFlags & RT_TYPE_HOST != RT_TYPE_HOST { - for i := 0; i < len(rt.NextHops); i++ { + for i := range rt.NextHops { r.Zone.Nh.NeighPairRt(rt.NextHops[i], rt) } //} @@ -334,14 +332,13 @@ func (r *RtH) RtAdd(Dst net.IPNet, Zone string, Ra RtAttr, Na []RtNhAttr) (int, } delete(r.RtMap, rt.Key) r.Mark.PutCounter(rt.Mark) - fmt.Printf("rt add - %s:%s lpm add fail\n", Dst.String(), Zone) tk.LogIt(tk.LogError, "rt add - %s:%s lpm add fail\n", Dst.String(), Zone) return RtTrieAddErr, errors.New("RT Trie Err") } rt.DP(DpCreate) - tk.LogIt(tk.LogDebug, "rt added - %s:%s mark:%v\n", Dst.String(), Zone, rt.RtGetNhMark()) + tk.LogIt(tk.LogDebug, "rt added - %s:%s mark:%s\n", Dst.String(), Zone, rt.RtNhMarkString()) return 0, nil } @@ -534,10 +531,22 @@ func (r *RtH) RoutesTicker() { r.RoutesSync() } +// RtNhMarkString - get the rt-entry's neighbor in string format +func (rt *Rt) RtNhMarkString() string { + str := "" + for i, nh := range rt.NextHops { + if i != 0 { + str += "," + } + str += fmt.Sprintf("%v", nh.Mark) + } + return str +} + // RtGetNhMark - get the rt-entry's neighbor identifier -func (rt *Rt) RtGetNhMark() uint64 { - if len(rt.NextHops) > 0 { - return rt.NextHops[0].Mark +func (rt *Rt) RtGetNhMark(n int) uint64 { + if len(rt.NextHops) > 0 && n < len(rt.NextHops) { + return rt.NextHops[n].Mark } return ^uint64(0) } @@ -570,7 +579,10 @@ func (rt *Rt) DP(work DpWorkT) int { rtWq.Dst = *rtNet rtWq.RtType = rt.TFlags rtWq.RtMark = int(rt.Mark) - rtWq.NMark = int(rt.RtGetNhMark()) + rtWq.NMax = len(rt.NextHops) + for i := range rt.NextHops { + rtWq.NMark[i] = int(rt.RtGetNhMark(i)) + } mh.dp.ToDpCh <- rtWq From cee717ffce695d7b25890015071c8adbcd13c83b Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 16 Jul 2024 00:47:27 +0900 Subject: [PATCH 054/171] gh-48 Add support for url-path in LB args --- api/models/loadbalance_entry.go | 3 + api/restapi/configure_loxilb_rest_api.go | 2 +- api/restapi/embedded_spec.go | 162 ++++---- api/restapi/handler/loadbalancer.go | 5 +- ...ess_ip_address_port_port_protocol_proto.go | 58 +++ ...ess_port_port_protocol_proto_parameters.go | 216 +++++++++++ ...ress_port_port_protocol_proto_responses.go | 354 ++++++++++++++++++ ...ess_port_port_protocol_proto_urlbuilder.go | 148 ++++++++ api/restapi/operations/loxilb_rest_api_api.go | 20 +- api/swagger.yml | 10 +- common/common.go | 2 + pkg/loxinet/rules.go | 26 +- 12 files changed, 916 insertions(+), 90 deletions(-) create mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go create mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go create mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go create mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go diff --git a/api/models/loadbalance_entry.go b/api/models/loadbalance_entry.go index 79cb9f189..2921da163 100644 --- a/api/models/loadbalance_entry.go +++ b/api/models/loadbalance_entry.go @@ -336,6 +336,9 @@ type LoadbalanceEntryServiceArguments struct { // end-point specific op (0-create, 1-attachEP, 2-detachEP) Oper int32 `json:"oper,omitempty"` + // Ingress specific URL path + Path string `json:"path,omitempty"` + // port number for the access Port int64 `json:"port,omitempty"` diff --git a/api/restapi/configure_loxilb_rest_api.go b/api/restapi/configure_loxilb_rest_api.go index df3fd8730..ef93aa4e6 100644 --- a/api/restapi/configure_loxilb_rest_api.go +++ b/api/restapi/configure_loxilb_rest_api.go @@ -60,7 +60,7 @@ func configureAPI(api *operations.LoxilbRestAPIAPI) http.Handler { // Load balancer add and delete and get api.PostConfigLoadbalancerHandler = operations.PostConfigLoadbalancerHandlerFunc(handler.ConfigPostLoadbalancer) - api.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler = operations.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(handler.ConfigDeleteLoadbalancer) + api.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler = operations.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(handler.ConfigDeleteLoadbalancer) api.GetConfigLoadbalancerAllHandler = operations.GetConfigLoadbalancerAllHandlerFunc(handler.ConfigGetLoadbalancer) api.DeleteConfigLoadbalancerAllHandler = operations.DeleteConfigLoadbalancerAllHandlerFunc(handler.ConfigDeleteAllLoadbalancer) api.DeleteConfigLoadbalancerNameLbNameHandler = operations.DeleteConfigLoadbalancerNameLbNameHandlerFunc(handler.ConfigDeleteLoadbalancerByName) diff --git a/api/restapi/embedded_spec.go b/api/restapi/embedded_spec.go index 5c6de6b87..9893bf687 100644 --- a/api/restapi/embedded_spec.go +++ b/api/restapi/embedded_spec.go @@ -2036,43 +2036,17 @@ func init() { } } }, - "/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { + "/config/loadbalancer/name/{lb_name}": { "delete": { - "description": "Delete an existing load balancer service with .", + "description": "Delete an existing load balancer service with name.", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service", - "name": "ip_address", - "in": "path", - "required": true - }, - { - "type": "number", - "description": "Attributes for load balance service", - "name": "port", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Attributes for load balance service", - "name": "proto", + "description": "Attributes for load balance service name", + "name": "lb_name", "in": "path", "required": true - }, - { - "type": "boolean", - "description": "option for BGP enable", - "name": "bgp", - "in": "query" - }, - { - "type": "number", - "description": "block value if any", - "name": "block", - "in": "query" } ], "responses": { @@ -2124,17 +2098,50 @@ func init() { } } }, - "/config/loadbalancer/name/{lb_name}": { + "/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { "delete": { - "description": "Delete an existing load balancer service with name.", + "description": "Delete an existing load balancer service with .", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service name", - "name": "lb_name", + "description": "Attributes for load balance service", + "name": "urlpath", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "ip_address", "in": "path", "required": true + }, + { + "type": "number", + "description": "Attributes for load balance service", + "name": "port", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "proto", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "option for BGP enable", + "name": "bgp", + "in": "query" + }, + { + "type": "number", + "description": "block value if any", + "name": "block", + "in": "query" } ], "responses": { @@ -4950,6 +4957,10 @@ func init() { "type": "integer", "format": "int32" }, + "path": { + "description": "Ingress specific URL path", + "type": "string" + }, "port": { "description": "port number for the access", "type": "integer" @@ -7644,43 +7655,17 @@ func init() { } } }, - "/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { + "/config/loadbalancer/name/{lb_name}": { "delete": { - "description": "Delete an existing load balancer service with .", + "description": "Delete an existing load balancer service with name.", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service", - "name": "ip_address", - "in": "path", - "required": true - }, - { - "type": "number", - "description": "Attributes for load balance service", - "name": "port", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Attributes for load balance service", - "name": "proto", + "description": "Attributes for load balance service name", + "name": "lb_name", "in": "path", "required": true - }, - { - "type": "boolean", - "description": "option for BGP enable", - "name": "bgp", - "in": "query" - }, - { - "type": "number", - "description": "block value if any", - "name": "block", - "in": "query" } ], "responses": { @@ -7732,17 +7717,50 @@ func init() { } } }, - "/config/loadbalancer/name/{lb_name}": { + "/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { "delete": { - "description": "Delete an existing load balancer service with name.", + "description": "Delete an existing load balancer service with .", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service name", - "name": "lb_name", + "description": "Attributes for load balance service", + "name": "urlpath", "in": "path", "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "ip_address", + "in": "path", + "required": true + }, + { + "type": "number", + "description": "Attributes for load balance service", + "name": "port", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "proto", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "option for BGP enable", + "name": "bgp", + "in": "query" + }, + { + "type": "number", + "description": "block value if any", + "name": "block", + "in": "query" } ], "responses": { @@ -10987,6 +11005,10 @@ func init() { "type": "integer", "format": "int32" }, + "path": { + "description": "Ingress specific URL path", + "type": "string" + }, "port": { "description": "port number for the access", "type": "integer" @@ -11114,6 +11136,10 @@ func init() { "type": "integer", "format": "int32" }, + "path": { + "description": "Ingress specific URL path", + "type": "string" + }, "port": { "description": "port number for the access", "type": "integer" diff --git a/api/restapi/handler/loadbalancer.go b/api/restapi/handler/loadbalancer.go index c1110b0ae..3abb1f5a5 100644 --- a/api/restapi/handler/loadbalancer.go +++ b/api/restapi/handler/loadbalancer.go @@ -47,6 +47,7 @@ func ConfigPostLoadbalancer(params operations.PostConfigLoadbalancerParams) midd lbRules.Serv.ProbeRetries = int(params.Attr.ServiceArguments.ProbeRetries) lbRules.Serv.Name = params.Attr.ServiceArguments.Name lbRules.Serv.Oper = cmn.LBOp(params.Attr.ServiceArguments.Oper) + lbRules.Serv.Path = params.Attr.ServiceArguments.Path if lbRules.Serv.Proto == "sctp" { for _, data := range params.Attr.SecondaryIPs { @@ -77,7 +78,7 @@ func ConfigPostLoadbalancer(params operations.PostConfigLoadbalancerParams) midd return &ResultResponse{Result: "Success"} } -func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { +func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { tk.LogIt(tk.LogDebug, "[API] Load balancer %s API called. url : %s\n", params.HTTPRequest.Method, params.HTTPRequest.URL) var lbServ cmn.LbServiceArg @@ -85,6 +86,7 @@ func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerExternal lbServ.ServIP = params.IPAddress lbServ.ServPort = uint16(params.Port) lbServ.Proto = params.Proto + lbServ.Path = params.Urlpath if params.Block != nil { lbServ.BlockNum = uint16(*params.Block) } @@ -133,6 +135,7 @@ func ConfigGetLoadbalancer(params operations.GetConfigLoadbalancerAllParams) mid tmpSvc.Probeport = lb.Serv.ProbePort tmpSvc.Name = lb.Serv.Name tmpSvc.Snat = lb.Serv.Snat + tmpSvc.Path = lb.Serv.Path tmpLB.ServiceArguments = &tmpSvc diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go new file mode 100644 index 000000000..7a3bdddf3 --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go @@ -0,0 +1,58 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime/middleware" +) + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc turns a function with the right signature into a delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto handler +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc func(DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc) Handle(params DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { + return fn(params) +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler interface for that can handle valid delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto params +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler interface { + Handle(DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto creates a new http.Handler for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto(ctx *middleware.Context, handler DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto { + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto{Context: ctx, Handler: handler} +} + +/* + DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto swagger:route DELETE /config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto} deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProto + +# Delete an existing Load balancer service + +Delete an existing load balancer service with . +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto struct { + Context *middleware.Context + Handler DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler +} + +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + *r = *rCtx + } + var Params = NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams() + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go new file mode 100644 index 000000000..dcc2939f9 --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go @@ -0,0 +1,216 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams creates a new DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams object +// +// There are no default values defined in the spec. +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams() DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams { + + return DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams{} +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams contains all the bound params for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation +// typically these are obtained from a http.Request +// +// swagger:parameters DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*option for BGP enable + In: query + */ + Bgp *bool + /*block value if any + In: query + */ + Block *float64 + /*Attributes for load balance service + Required: true + In: path + */ + IPAddress string + /*Attributes for load balance service + Required: true + In: path + */ + Port float64 + /*Attributes for load balance service + Required: true + In: path + */ + Proto string + /*Attributes for load balance service + Required: true + In: path + */ + Urlpath string +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams() beforehand. +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + qs := runtime.Values(r.URL.Query()) + + qBgp, qhkBgp, _ := qs.GetOK("bgp") + if err := o.bindBgp(qBgp, qhkBgp, route.Formats); err != nil { + res = append(res, err) + } + + qBlock, qhkBlock, _ := qs.GetOK("block") + if err := o.bindBlock(qBlock, qhkBlock, route.Formats); err != nil { + res = append(res, err) + } + + rIPAddress, rhkIPAddress, _ := route.Params.GetOK("ip_address") + if err := o.bindIPAddress(rIPAddress, rhkIPAddress, route.Formats); err != nil { + res = append(res, err) + } + + rPort, rhkPort, _ := route.Params.GetOK("port") + if err := o.bindPort(rPort, rhkPort, route.Formats); err != nil { + res = append(res, err) + } + + rProto, rhkProto, _ := route.Params.GetOK("proto") + if err := o.bindProto(rProto, rhkProto, route.Formats); err != nil { + res = append(res, err) + } + + rUrlpath, rhkUrlpath, _ := route.Params.GetOK("urlpath") + if err := o.bindUrlpath(rUrlpath, rhkUrlpath, route.Formats); err != nil { + res = append(res, err) + } + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindBgp binds and validates parameter Bgp from query. +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindBgp(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + + if raw == "" { // empty values pass all other validations + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("bgp", "query", "bool", raw) + } + o.Bgp = &value + + return nil +} + +// bindBlock binds and validates parameter Block from query. +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindBlock(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + + if raw == "" { // empty values pass all other validations + return nil + } + + value, err := swag.ConvertFloat64(raw) + if err != nil { + return errors.InvalidType("block", "query", "float64", raw) + } + o.Block = &value + + return nil +} + +// bindIPAddress binds and validates parameter IPAddress from path. +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindIPAddress(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + o.IPAddress = raw + + return nil +} + +// bindPort binds and validates parameter Port from path. +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindPort(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + + value, err := swag.ConvertFloat64(raw) + if err != nil { + return errors.InvalidType("port", "path", "float64", raw) + } + o.Port = value + + return nil +} + +// bindProto binds and validates parameter Proto from path. +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindProto(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + o.Proto = raw + + return nil +} + +// bindUrlpath binds and validates parameter Urlpath from path. +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindUrlpath(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + o.Urlpath = raw + + return nil +} diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go new file mode 100644 index 000000000..7a9fd307f --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go @@ -0,0 +1,354 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + "github.com/loxilb-io/loxilb/api/models" +) + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContentCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContentCode int = 204 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent OK + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoNoContent +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent struct { +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent{} +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses + + rw.WriteHeader(204) +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequestCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequestCode int = 400 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest Malformed arguments for API call + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoBadRequest +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest{} +} + +// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto bad request response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto bad request response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(400) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorizedCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorizedCode int = 401 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized Invalid authentication credentials + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoUnauthorized +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized{} +} + +// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto unauthorized response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto unauthorized response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(401) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbiddenCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbiddenCode int = 403 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden Capacity insufficient + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoForbidden +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden{} +} + +// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto forbidden response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto forbidden response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(403) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFoundCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFoundCode int = 404 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound Resource not found + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoNotFound +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound{} +} + +// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto not found response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto not found response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(404) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflictCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflictCode int = 409 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict Resource Conflict. VLAN already exists OR dependency VRF/VNET not found + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoConflict +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict{} +} + +// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto conflict response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto conflict response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(409) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerErrorCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerErrorCode int = 500 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError Internal service error + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoInternalServerError +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError{} +} + +// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto internal server error response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto internal server error response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailableCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable +const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailableCode int = 503 + +/* +DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable Maintanence mode + +swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoServiceUnavailable +*/ +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable with default headers values +func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable { + + return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable{} +} + +// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto service unavailable response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto service unavailable response +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(503) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go new file mode 100644 index 000000000..aa3a8c5ee --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go @@ -0,0 +1,148 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" + "strings" + + "github.com/go-openapi/swag" +) + +// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL generates an URL for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation +type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL struct { + IPAddress string + Port float64 + Proto string + Urlpath string + + Bgp *bool + Block *float64 + + _basePath string + // avoid unkeyed usage + _ struct{} +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) WithBasePath(bp string) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}" + + iPAddress := o.IPAddress + if iPAddress != "" { + _path = strings.Replace(_path, "{ip_address}", iPAddress, -1) + } else { + return nil, errors.New("ipAddress is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + port := swag.FormatFloat64(o.Port) + if port != "" { + _path = strings.Replace(_path, "{port}", port, -1) + } else { + return nil, errors.New("port is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + proto := o.Proto + if proto != "" { + _path = strings.Replace(_path, "{proto}", proto, -1) + } else { + return nil, errors.New("proto is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + urlpath := o.Urlpath + if urlpath != "" { + _path = strings.Replace(_path, "{urlpath}", urlpath, -1) + } else { + return nil, errors.New("urlpath is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + _basePath := o._basePath + if _basePath == "" { + _basePath = "/netlox/v1" + } + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + qs := make(url.Values) + + var bgpQ string + if o.Bgp != nil { + bgpQ = swag.FormatBool(*o.Bgp) + } + if bgpQ != "" { + qs.Set("bgp", bgpQ) + } + + var blockQ string + if o.Block != nil { + blockQ = swag.FormatFloat64(*o.Block) + } + if blockQ != "" { + qs.Set("block", blockQ) + } + + _result.RawQuery = qs.Encode() + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} diff --git a/api/restapi/operations/loxilb_rest_api_api.go b/api/restapi/operations/loxilb_rest_api_api.go index 088e42435..0f79cd5bb 100644 --- a/api/restapi/operations/loxilb_rest_api_api.go +++ b/api/restapi/operations/loxilb_rest_api_api.go @@ -72,12 +72,12 @@ func NewLoxilbRestAPIAPI(spec *loads.Document) *LoxilbRestAPIAPI { DeleteConfigLoadbalancerAllHandler: DeleteConfigLoadbalancerAllHandlerFunc(func(params DeleteConfigLoadbalancerAllParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigLoadbalancerAll has not yet been implemented") }), - DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler: DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(func(params DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { - return middleware.NotImplemented("operation DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProto has not yet been implemented") - }), DeleteConfigLoadbalancerNameLbNameHandler: DeleteConfigLoadbalancerNameLbNameHandlerFunc(func(params DeleteConfigLoadbalancerNameLbNameParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigLoadbalancerNameLbName has not yet been implemented") }), + DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler: DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(func(params DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { + return middleware.NotImplemented("operation DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto has not yet been implemented") + }), DeleteConfigMirrorIdentIdentHandler: DeleteConfigMirrorIdentIdentHandlerFunc(func(params DeleteConfigMirrorIdentIdentParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigMirrorIdentIdent has not yet been implemented") }), @@ -308,10 +308,10 @@ type LoxilbRestAPIAPI struct { DeleteConfigIpv4addressIPAddressMaskDevIfNameHandler DeleteConfigIpv4addressIPAddressMaskDevIfNameHandler // DeleteConfigLoadbalancerAllHandler sets the operation handler for the delete config loadbalancer all operation DeleteConfigLoadbalancerAllHandler DeleteConfigLoadbalancerAllHandler - // DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler sets the operation handler for the delete config loadbalancer externalipaddress IP address port port protocol proto operation - DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler // DeleteConfigLoadbalancerNameLbNameHandler sets the operation handler for the delete config loadbalancer name lb name operation DeleteConfigLoadbalancerNameLbNameHandler DeleteConfigLoadbalancerNameLbNameHandler + // DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler sets the operation handler for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation + DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler // DeleteConfigMirrorIdentIdentHandler sets the operation handler for the delete config mirror ident ident operation DeleteConfigMirrorIdentIdentHandler DeleteConfigMirrorIdentIdentHandler // DeleteConfigNeighborIPAddressDevIfNameHandler sets the operation handler for the delete config neighbor IP address dev if name operation @@ -535,12 +535,12 @@ func (o *LoxilbRestAPIAPI) Validate() error { if o.DeleteConfigLoadbalancerAllHandler == nil { unregistered = append(unregistered, "DeleteConfigLoadbalancerAllHandler") } - if o.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler == nil { - unregistered = append(unregistered, "DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler") - } if o.DeleteConfigLoadbalancerNameLbNameHandler == nil { unregistered = append(unregistered, "DeleteConfigLoadbalancerNameLbNameHandler") } + if o.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler == nil { + unregistered = append(unregistered, "DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler") + } if o.DeleteConfigMirrorIdentIdentHandler == nil { unregistered = append(unregistered, "DeleteConfigMirrorIdentIdentHandler") } @@ -846,11 +846,11 @@ func (o *LoxilbRestAPIAPI) initHandlerCache() { if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) } - o.handlers["DELETE"]["/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}"] = NewDeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProto(o.context, o.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler) + o.handlers["DELETE"]["/config/loadbalancer/name/{lb_name}"] = NewDeleteConfigLoadbalancerNameLbName(o.context, o.DeleteConfigLoadbalancerNameLbNameHandler) if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) } - o.handlers["DELETE"]["/config/loadbalancer/name/{lb_name}"] = NewDeleteConfigLoadbalancerNameLbName(o.context, o.DeleteConfigLoadbalancerNameLbNameHandler) + o.handlers["DELETE"]["/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}"] = NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto(o.context, o.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler) if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) } diff --git a/api/swagger.yml b/api/swagger.yml index 4b47fd023..0586f3957 100644 --- a/api/swagger.yml +++ b/api/swagger.yml @@ -174,11 +174,16 @@ paths: description: Maintanence mode schema: $ref: '#/definitions/Error' - '/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}': + '/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}': delete: summary: Delete an existing Load balancer service description: Delete an existing load balancer service with . parameters: + - name: urlpath + in: path + type: string + required: true + description: Attributes for load balance service - name: ip_address in: path type: string @@ -2901,6 +2906,9 @@ definitions: type: integer format: int32 description: end-point specific op (0-create, 1-attachEP, 2-detachEP) + path: + type: string + description: Ingress specific URL path endpoints: type: array diff --git a/common/common.go b/common/common.go index 687b892e0..314875591 100644 --- a/common/common.go +++ b/common/common.go @@ -573,6 +573,8 @@ type LbServiceArg struct { PersistTimeout uint32 `json:"persistTimeout"` // Snat - Do SNAT Snat bool `json:"snat"` + // Path - Ingress Specific URL path + Path string `json:"path"` } // LbEndPointArg - Information related to load-balancer end-point diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index 1776cef2a..a20a45f07 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -155,6 +155,7 @@ type ruleTuples struct { inL4Src rule16Tuple inL4Dst rule16Tuple pref uint16 + path string } type ruleTActType uint @@ -476,9 +477,11 @@ func (r *ruleTuples) ruleMkKeyCompliance(match ruleTMatch) { } func (r *ruleTuples) ruleKey() string { - var ks string - - ks = fmt.Sprintf("%s", r.port.val) + ks := "" + if r.path != "" { + ks += r.path + } + ks += fmt.Sprintf("%s", r.port.val) ks += fmt.Sprintf("%02x:%02x:%02x:%02x:%02x:%02x", r.l2Dst.addr[0]&r.l2Dst.valid[0], r.l2Dst.addr[1]&r.l2Dst.valid[1], @@ -547,10 +550,14 @@ func checkValidMACTuple(mt ruleMacTuple) bool { } func (r *ruleTuples) String() string { - var ks string + + ks := "" + if r.path != "" { + ks += fmt.Sprintf("%s:", r.path) + } if r.port.val != "" { - ks = fmt.Sprintf("inp-%s,", r.port.val) + ks += fmt.Sprintf("inp-%s,", r.port.val) } if checkValidMACTuple(r.l2Dst) { @@ -785,6 +792,7 @@ func (R *RuleH) GetNatLbRule() ([]cmn.LbRuleMod, error) { ret.Serv.ProbeReq = data.hChk.prbReq ret.Serv.ProbeResp = data.hChk.prbResp ret.Serv.Name = data.name + ret.Serv.Path = data.tuples.path if data.act.actType == RtActSnat { ret.Serv.Snat = true } @@ -942,7 +950,7 @@ func (R *RuleH) GetNatLbRuleByServArgs(serv cmn.LbServiceArg) *ruleEnt { l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} return R.tables[RtLB].eMap[rt.ruleKey()] } @@ -970,7 +978,7 @@ func (R *RuleH) GetNatLbRuleSecIPs(serv cmn.LbServiceArg) []string { l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} if R.tables[RtLB].eMap[rt.ruleKey()] != nil { for _, ip := range R.tables[RtLB].eMap[rt.ruleKey()].secIP { ips = append(ips, ip.sIP.String()) @@ -1491,7 +1499,7 @@ func (R *RuleH) AddNatLbRule(serv cmn.LbServiceArg, servSecIPs []cmn.LbSecIPArg, l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} eRule := R.tables[RtLB].eMap[rt.ruleKey()] @@ -1702,7 +1710,7 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) { l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} rule := R.tables[RtLB].eMap[rt.ruleKey()] if rule == nil { From af80917fbf728f54f56e52bb0abf01af2580b275 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 16 Jul 2024 11:19:40 +0900 Subject: [PATCH 055/171] gh-48 Add support for url-path in LB args --- api/restapi/configure_loxilb_rest_api.go | 1 + api/restapi/embedded_spec.go | 176 ++++++++++++++++++ api/restapi/handler/loadbalancer.go | 32 +++- api/restapi/operations/loxilb_rest_api_api.go | 12 ++ api/swagger.yml | 60 ++++++ 5 files changed, 280 insertions(+), 1 deletion(-) diff --git a/api/restapi/configure_loxilb_rest_api.go b/api/restapi/configure_loxilb_rest_api.go index ef93aa4e6..1f1450cf0 100644 --- a/api/restapi/configure_loxilb_rest_api.go +++ b/api/restapi/configure_loxilb_rest_api.go @@ -61,6 +61,7 @@ func configureAPI(api *operations.LoxilbRestAPIAPI) http.Handler { // Load balancer add and delete and get api.PostConfigLoadbalancerHandler = operations.PostConfigLoadbalancerHandlerFunc(handler.ConfigPostLoadbalancer) api.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler = operations.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(handler.ConfigDeleteLoadbalancer) + api.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler = operations.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(handler.ConfigDeleteLoadbalancerWithoutPath) api.GetConfigLoadbalancerAllHandler = operations.GetConfigLoadbalancerAllHandlerFunc(handler.ConfigGetLoadbalancer) api.DeleteConfigLoadbalancerAllHandler = operations.DeleteConfigLoadbalancerAllHandlerFunc(handler.ConfigDeleteAllLoadbalancer) api.DeleteConfigLoadbalancerNameLbNameHandler = operations.DeleteConfigLoadbalancerNameLbNameHandlerFunc(handler.ConfigDeleteLoadbalancerByName) diff --git a/api/restapi/embedded_spec.go b/api/restapi/embedded_spec.go index 9893bf687..248fe3775 100644 --- a/api/restapi/embedded_spec.go +++ b/api/restapi/embedded_spec.go @@ -2036,6 +2036,94 @@ func init() { } } }, + "/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { + "delete": { + "description": "Delete an existing load balancer service with .", + "summary": "Delete an existing Load balancer service", + "parameters": [ + { + "type": "string", + "description": "Attributes for load balance service", + "name": "ip_address", + "in": "path", + "required": true + }, + { + "type": "number", + "description": "Attributes for load balance service", + "name": "port", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "proto", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "option for BGP enable", + "name": "bgp", + "in": "query" + }, + { + "type": "number", + "description": "block value if any", + "name": "block", + "in": "query" + } + ], + "responses": { + "204": { + "description": "OK" + }, + "400": { + "description": "Malformed arguments for API call", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Invalid authentication credentials", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Capacity insufficient", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Resource not found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Resource Conflict. VLAN already exists OR dependency VRF/VNET not found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal service error", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Maintanence mode", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, "/config/loadbalancer/name/{lb_name}": { "delete": { "description": "Delete an existing load balancer service with name.", @@ -7655,6 +7743,94 @@ func init() { } } }, + "/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { + "delete": { + "description": "Delete an existing load balancer service with .", + "summary": "Delete an existing Load balancer service", + "parameters": [ + { + "type": "string", + "description": "Attributes for load balance service", + "name": "ip_address", + "in": "path", + "required": true + }, + { + "type": "number", + "description": "Attributes for load balance service", + "name": "port", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "proto", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "option for BGP enable", + "name": "bgp", + "in": "query" + }, + { + "type": "number", + "description": "block value if any", + "name": "block", + "in": "query" + } + ], + "responses": { + "204": { + "description": "OK" + }, + "400": { + "description": "Malformed arguments for API call", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "401": { + "description": "Invalid authentication credentials", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Capacity insufficient", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Resource not found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "409": { + "description": "Resource Conflict. VLAN already exists OR dependency VRF/VNET not found", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Internal service error", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Maintanence mode", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, "/config/loadbalancer/name/{lb_name}": { "delete": { "description": "Delete an existing load balancer service with name.", diff --git a/api/restapi/handler/loadbalancer.go b/api/restapi/handler/loadbalancer.go index 3abb1f5a5..f40daca8d 100644 --- a/api/restapi/handler/loadbalancer.go +++ b/api/restapi/handler/loadbalancer.go @@ -86,7 +86,11 @@ func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerUrlpathU lbServ.ServIP = params.IPAddress lbServ.ServPort = uint16(params.Port) lbServ.Proto = params.Proto - lbServ.Path = params.Urlpath + if params.Urlpath == "any" { + lbServ.Path = "" + } else { + lbServ.Path = params.Urlpath + } if params.Block != nil { lbServ.BlockNum = uint16(*params.Block) } @@ -104,6 +108,32 @@ func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerUrlpathU return &ResultResponse{Result: "Success"} } +func ConfigDeleteLoadbalancerWithoutPath(params operations.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { + tk.LogIt(tk.LogDebug, "[API] Load balancer %s API called. url : %s\n", params.HTTPRequest.Method, params.HTTPRequest.URL) + + var lbServ cmn.LbServiceArg + var lbRules cmn.LbRuleMod + lbServ.ServIP = params.IPAddress + lbServ.ServPort = uint16(params.Port) + lbServ.Proto = params.Proto + lbServ.Path = "" + if params.Block != nil { + lbServ.BlockNum = uint16(*params.Block) + } + if params.Bgp != nil { + lbServ.Bgp = *params.Bgp + } + + lbRules.Serv = lbServ + tk.LogIt(tk.LogDebug, "[API] lbRules (w/o Path): %v\n", lbRules) + _, err := ApiHooks.NetLbRuleDel(&lbRules) + if err != nil { + tk.LogIt(tk.LogDebug, "[API] Error occur : %v\n", err) + return &ResultResponse{Result: err.Error()} + } + return &ResultResponse{Result: "Success"} +} + func ConfigGetLoadbalancer(params operations.GetConfigLoadbalancerAllParams) middleware.Responder { // Get LB rules tk.LogIt(tk.LogDebug, "[API] Load balancer %s API called. url : %s\n", params.HTTPRequest.Method, params.HTTPRequest.URL) diff --git a/api/restapi/operations/loxilb_rest_api_api.go b/api/restapi/operations/loxilb_rest_api_api.go index 0f79cd5bb..9d571cd3b 100644 --- a/api/restapi/operations/loxilb_rest_api_api.go +++ b/api/restapi/operations/loxilb_rest_api_api.go @@ -72,6 +72,9 @@ func NewLoxilbRestAPIAPI(spec *loads.Document) *LoxilbRestAPIAPI { DeleteConfigLoadbalancerAllHandler: DeleteConfigLoadbalancerAllHandlerFunc(func(params DeleteConfigLoadbalancerAllParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigLoadbalancerAll has not yet been implemented") }), + DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler: DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(func(params DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { + return middleware.NotImplemented("operation DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProto has not yet been implemented") + }), DeleteConfigLoadbalancerNameLbNameHandler: DeleteConfigLoadbalancerNameLbNameHandlerFunc(func(params DeleteConfigLoadbalancerNameLbNameParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigLoadbalancerNameLbName has not yet been implemented") }), @@ -308,6 +311,8 @@ type LoxilbRestAPIAPI struct { DeleteConfigIpv4addressIPAddressMaskDevIfNameHandler DeleteConfigIpv4addressIPAddressMaskDevIfNameHandler // DeleteConfigLoadbalancerAllHandler sets the operation handler for the delete config loadbalancer all operation DeleteConfigLoadbalancerAllHandler DeleteConfigLoadbalancerAllHandler + // DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler sets the operation handler for the delete config loadbalancer externalipaddress IP address port port protocol proto operation + DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler // DeleteConfigLoadbalancerNameLbNameHandler sets the operation handler for the delete config loadbalancer name lb name operation DeleteConfigLoadbalancerNameLbNameHandler DeleteConfigLoadbalancerNameLbNameHandler // DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler sets the operation handler for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation @@ -535,6 +540,9 @@ func (o *LoxilbRestAPIAPI) Validate() error { if o.DeleteConfigLoadbalancerAllHandler == nil { unregistered = append(unregistered, "DeleteConfigLoadbalancerAllHandler") } + if o.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler == nil { + unregistered = append(unregistered, "DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler") + } if o.DeleteConfigLoadbalancerNameLbNameHandler == nil { unregistered = append(unregistered, "DeleteConfigLoadbalancerNameLbNameHandler") } @@ -846,6 +854,10 @@ func (o *LoxilbRestAPIAPI) initHandlerCache() { if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) } + o.handlers["DELETE"]["/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}"] = NewDeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProto(o.context, o.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler) + if o.handlers["DELETE"] == nil { + o.handlers["DELETE"] = make(map[string]http.Handler) + } o.handlers["DELETE"]["/config/loadbalancer/name/{lb_name}"] = NewDeleteConfigLoadbalancerNameLbName(o.context, o.DeleteConfigLoadbalancerNameLbNameHandler) if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) diff --git a/api/swagger.yml b/api/swagger.yml index 0586f3957..6d98815dd 100644 --- a/api/swagger.yml +++ b/api/swagger.yml @@ -174,6 +174,66 @@ paths: description: Maintanence mode schema: $ref: '#/definitions/Error' + '/config/loadbalancer/externalipaddress/{ip_address}/port/{port}/protocol/{proto}': + delete: + summary: Delete an existing Load balancer service + description: Delete an existing load balancer service with . + parameters: + - name: ip_address + in: path + type: string + required: true + description: Attributes for load balance service + - name: port + in: path + type: number + required: true + description: Attributes for load balance service + - name: proto + in: path + type: string + required: true + description: Attributes for load balance service + - name: bgp + in: query + type: boolean + description: option for BGP enable + - name: block + in: query + type: number + required: false + description: block value if any + responses: + '204': + description: OK + '400': + description: Malformed arguments for API call + schema: + $ref: '#/definitions/Error' + '401': + description: Invalid authentication credentials + schema: + $ref: '#/definitions/Error' + '403': + description: Capacity insufficient + schema: + $ref: '#/definitions/Error' + '404': + description: Resource not found + schema: + $ref: '#/definitions/Error' + '409': + description: Resource Conflict. VLAN already exists OR dependency VRF/VNET not found + schema: + $ref: '#/definitions/Error' + '500': + description: Internal service error + schema: + $ref: '#/definitions/Error' + '503': + description: Maintanence mode + schema: + $ref: '#/definitions/Error' '/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}': delete: summary: Delete an existing Load balancer service From d341eda459b28af7d5a6c40894260be3fc72e550 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 19 Jul 2024 12:25:05 +0900 Subject: [PATCH 056/171] gh-726 Initial support for basic ingress support (w/HTTPS) based on http host header --- api/models/loadbalance_entry.go | 6 +- api/restapi/configure_loxilb_rest_api.go | 2 +- api/restapi/embedded_spec.go | 188 +++++----- api/restapi/handler/loadbalancer.go | 14 +- ...ess_ip_address_port_port_protocol_proto.go | 58 --- ...ess_port_port_protocol_proto_parameters.go | 216 ----------- ...ress_port_port_protocol_proto_responses.go | 354 ------------------ ...ess_port_port_protocol_proto_urlbuilder.go | 148 -------- api/restapi/operations/loxilb_rest_api_api.go | 20 +- common/common.go | 4 +- loxilb-ebpf | 2 +- pkg/loxinet/dpbroker.go | 3 +- pkg/loxinet/dpebpf_linux.go | 165 ++++---- pkg/loxinet/rules.go | 13 +- 14 files changed, 212 insertions(+), 981 deletions(-) delete mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go delete mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go delete mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go delete mode 100644 api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go diff --git a/api/models/loadbalance_entry.go b/api/models/loadbalance_entry.go index 2921da163..73bce189d 100644 --- a/api/models/loadbalance_entry.go +++ b/api/models/loadbalance_entry.go @@ -318,6 +318,9 @@ type LoadbalanceEntryServiceArguments struct { // IP address for externel access ExternalIP string `json:"externalIP,omitempty"` + // Ingress specific host URL path + Host string `json:"host,omitempty"` + // value for inactivity timeout (in seconds) InactiveTimeOut int32 `json:"inactiveTimeOut,omitempty"` @@ -336,9 +339,6 @@ type LoadbalanceEntryServiceArguments struct { // end-point specific op (0-create, 1-attachEP, 2-detachEP) Oper int32 `json:"oper,omitempty"` - // Ingress specific URL path - Path string `json:"path,omitempty"` - // port number for the access Port int64 `json:"port,omitempty"` diff --git a/api/restapi/configure_loxilb_rest_api.go b/api/restapi/configure_loxilb_rest_api.go index 1f1450cf0..8d2735c45 100644 --- a/api/restapi/configure_loxilb_rest_api.go +++ b/api/restapi/configure_loxilb_rest_api.go @@ -60,7 +60,7 @@ func configureAPI(api *operations.LoxilbRestAPIAPI) http.Handler { // Load balancer add and delete and get api.PostConfigLoadbalancerHandler = operations.PostConfigLoadbalancerHandlerFunc(handler.ConfigPostLoadbalancer) - api.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler = operations.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(handler.ConfigDeleteLoadbalancer) + api.DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler = operations.DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(handler.ConfigDeleteLoadbalancer) api.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler = operations.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(handler.ConfigDeleteLoadbalancerWithoutPath) api.GetConfigLoadbalancerAllHandler = operations.GetConfigLoadbalancerAllHandlerFunc(handler.ConfigGetLoadbalancer) api.DeleteConfigLoadbalancerAllHandler = operations.DeleteConfigLoadbalancerAllHandlerFunc(handler.ConfigDeleteAllLoadbalancer) diff --git a/api/restapi/embedded_spec.go b/api/restapi/embedded_spec.go index 248fe3775..12c96930c 100644 --- a/api/restapi/embedded_spec.go +++ b/api/restapi/embedded_spec.go @@ -2124,17 +2124,50 @@ func init() { } } }, - "/config/loadbalancer/name/{lb_name}": { + "/config/loadbalancer/hosturl/{hosturl}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { "delete": { - "description": "Delete an existing load balancer service with name.", + "description": "Delete an existing load balancer service with .", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service name", - "name": "lb_name", + "description": "Attributes for load balance service", + "name": "hosturl", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "ip_address", + "in": "path", + "required": true + }, + { + "type": "number", + "description": "Attributes for load balance service", + "name": "port", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "proto", "in": "path", "required": true + }, + { + "type": "boolean", + "description": "option for BGP enable", + "name": "bgp", + "in": "query" + }, + { + "type": "number", + "description": "block value if any", + "name": "block", + "in": "query" } ], "responses": { @@ -2186,50 +2219,17 @@ func init() { } } }, - "/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { + "/config/loadbalancer/name/{lb_name}": { "delete": { - "description": "Delete an existing load balancer service with .", + "description": "Delete an existing load balancer service with name.", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service", - "name": "urlpath", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Attributes for load balance service", - "name": "ip_address", - "in": "path", - "required": true - }, - { - "type": "number", - "description": "Attributes for load balance service", - "name": "port", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Attributes for load balance service", - "name": "proto", + "description": "Attributes for load balance service name", + "name": "lb_name", "in": "path", "required": true - }, - { - "type": "boolean", - "description": "option for BGP enable", - "name": "bgp", - "in": "query" - }, - { - "type": "number", - "description": "block value if any", - "name": "block", - "in": "query" } ], "responses": { @@ -5018,6 +5018,10 @@ func init() { "description": "IP address for externel access", "type": "string" }, + "host": { + "description": "Ingress specific host URL path", + "type": "string" + }, "inactiveTimeOut": { "description": "value for inactivity timeout (in seconds)", "type": "integer", @@ -5045,10 +5049,6 @@ func init() { "type": "integer", "format": "int32" }, - "path": { - "description": "Ingress specific URL path", - "type": "string" - }, "port": { "description": "port number for the access", "type": "integer" @@ -7831,17 +7831,50 @@ func init() { } } }, - "/config/loadbalancer/name/{lb_name}": { + "/config/loadbalancer/hosturl/{hosturl}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { "delete": { - "description": "Delete an existing load balancer service with name.", + "description": "Delete an existing load balancer service with .", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service name", - "name": "lb_name", + "description": "Attributes for load balance service", + "name": "hosturl", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "ip_address", + "in": "path", + "required": true + }, + { + "type": "number", + "description": "Attributes for load balance service", + "name": "port", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Attributes for load balance service", + "name": "proto", "in": "path", "required": true + }, + { + "type": "boolean", + "description": "option for BGP enable", + "name": "bgp", + "in": "query" + }, + { + "type": "number", + "description": "block value if any", + "name": "block", + "in": "query" } ], "responses": { @@ -7893,50 +7926,17 @@ func init() { } } }, - "/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}": { + "/config/loadbalancer/name/{lb_name}": { "delete": { - "description": "Delete an existing load balancer service with .", + "description": "Delete an existing load balancer service with name.", "summary": "Delete an existing Load balancer service", "parameters": [ { "type": "string", - "description": "Attributes for load balance service", - "name": "urlpath", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Attributes for load balance service", - "name": "ip_address", - "in": "path", - "required": true - }, - { - "type": "number", - "description": "Attributes for load balance service", - "name": "port", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Attributes for load balance service", - "name": "proto", + "description": "Attributes for load balance service name", + "name": "lb_name", "in": "path", "required": true - }, - { - "type": "boolean", - "description": "option for BGP enable", - "name": "bgp", - "in": "query" - }, - { - "type": "number", - "description": "block value if any", - "name": "block", - "in": "query" } ], "responses": { @@ -11154,6 +11154,10 @@ func init() { "description": "IP address for externel access", "type": "string" }, + "host": { + "description": "Ingress specific host URL path", + "type": "string" + }, "inactiveTimeOut": { "description": "value for inactivity timeout (in seconds)", "type": "integer", @@ -11181,10 +11185,6 @@ func init() { "type": "integer", "format": "int32" }, - "path": { - "description": "Ingress specific URL path", - "type": "string" - }, "port": { "description": "port number for the access", "type": "integer" @@ -11285,6 +11285,10 @@ func init() { "description": "IP address for externel access", "type": "string" }, + "host": { + "description": "Ingress specific host URL path", + "type": "string" + }, "inactiveTimeOut": { "description": "value for inactivity timeout (in seconds)", "type": "integer", @@ -11312,10 +11316,6 @@ func init() { "type": "integer", "format": "int32" }, - "path": { - "description": "Ingress specific URL path", - "type": "string" - }, "port": { "description": "port number for the access", "type": "integer" diff --git a/api/restapi/handler/loadbalancer.go b/api/restapi/handler/loadbalancer.go index f40daca8d..22a21a267 100644 --- a/api/restapi/handler/loadbalancer.go +++ b/api/restapi/handler/loadbalancer.go @@ -47,7 +47,7 @@ func ConfigPostLoadbalancer(params operations.PostConfigLoadbalancerParams) midd lbRules.Serv.ProbeRetries = int(params.Attr.ServiceArguments.ProbeRetries) lbRules.Serv.Name = params.Attr.ServiceArguments.Name lbRules.Serv.Oper = cmn.LBOp(params.Attr.ServiceArguments.Oper) - lbRules.Serv.Path = params.Attr.ServiceArguments.Path + lbRules.Serv.HostUrl = params.Attr.ServiceArguments.Host if lbRules.Serv.Proto == "sctp" { for _, data := range params.Attr.SecondaryIPs { @@ -78,7 +78,7 @@ func ConfigPostLoadbalancer(params operations.PostConfigLoadbalancerParams) midd return &ResultResponse{Result: "Success"} } -func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { +func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { tk.LogIt(tk.LogDebug, "[API] Load balancer %s API called. url : %s\n", params.HTTPRequest.Method, params.HTTPRequest.URL) var lbServ cmn.LbServiceArg @@ -86,10 +86,10 @@ func ConfigDeleteLoadbalancer(params operations.DeleteConfigLoadbalancerUrlpathU lbServ.ServIP = params.IPAddress lbServ.ServPort = uint16(params.Port) lbServ.Proto = params.Proto - if params.Urlpath == "any" { - lbServ.Path = "" + if params.Hosturl == "any" { + lbServ.HostUrl = "" } else { - lbServ.Path = params.Urlpath + lbServ.HostUrl = params.Hosturl } if params.Block != nil { lbServ.BlockNum = uint16(*params.Block) @@ -116,7 +116,7 @@ func ConfigDeleteLoadbalancerWithoutPath(params operations.DeleteConfigLoadbalan lbServ.ServIP = params.IPAddress lbServ.ServPort = uint16(params.Port) lbServ.Proto = params.Proto - lbServ.Path = "" + lbServ.HostUrl = "" if params.Block != nil { lbServ.BlockNum = uint16(*params.Block) } @@ -165,7 +165,7 @@ func ConfigGetLoadbalancer(params operations.GetConfigLoadbalancerAllParams) mid tmpSvc.Probeport = lb.Serv.ProbePort tmpSvc.Name = lb.Serv.Name tmpSvc.Snat = lb.Serv.Snat - tmpSvc.Path = lb.Serv.Path + tmpSvc.Host = lb.Serv.HostUrl tmpLB.ServiceArguments = &tmpSvc diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go deleted file mode 100644 index 7a3bdddf3..000000000 --- a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto.go +++ /dev/null @@ -1,58 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package operations - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the generate command - -import ( - "net/http" - - "github.com/go-openapi/runtime/middleware" -) - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc turns a function with the right signature into a delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto handler -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc func(DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder - -// Handle executing the request and returning a response -func (fn DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc) Handle(params DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { - return fn(params) -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler interface for that can handle valid delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto params -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler interface { - Handle(DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto creates a new http.Handler for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto(ctx *middleware.Context, handler DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto { - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto{Context: ctx, Handler: handler} -} - -/* - DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto swagger:route DELETE /config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto} deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProto - -# Delete an existing Load balancer service - -Delete an existing load balancer service with . -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto struct { - Context *middleware.Context - Handler DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler -} - -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto) ServeHTTP(rw http.ResponseWriter, r *http.Request) { - route, rCtx, _ := o.Context.RouteInfo(r) - if rCtx != nil { - *r = *rCtx - } - var Params = NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams() - if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params - o.Context.Respond(rw, r, route.Produces, route, err) - return - } - - res := o.Handler.Handle(Params) // actually handle the request - o.Context.Respond(rw, r, route.Produces, route, res) - -} diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go deleted file mode 100644 index dcc2939f9..000000000 --- a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_parameters.go +++ /dev/null @@ -1,216 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package operations - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "net/http" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - "github.com/go-openapi/runtime/middleware" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams creates a new DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams object -// -// There are no default values defined in the spec. -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams() DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams { - - return DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams{} -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams contains all the bound params for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation -// typically these are obtained from a http.Request -// -// swagger:parameters DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams struct { - - // HTTP Request Object - HTTPRequest *http.Request `json:"-"` - - /*option for BGP enable - In: query - */ - Bgp *bool - /*block value if any - In: query - */ - Block *float64 - /*Attributes for load balance service - Required: true - In: path - */ - IPAddress string - /*Attributes for load balance service - Required: true - In: path - */ - Port float64 - /*Attributes for load balance service - Required: true - In: path - */ - Proto string - /*Attributes for load balance service - Required: true - In: path - */ - Urlpath string -} - -// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface -// for simple values it will use straight method calls. -// -// To ensure default values, the struct must have been initialized with NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams() beforehand. -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { - var res []error - - o.HTTPRequest = r - - qs := runtime.Values(r.URL.Query()) - - qBgp, qhkBgp, _ := qs.GetOK("bgp") - if err := o.bindBgp(qBgp, qhkBgp, route.Formats); err != nil { - res = append(res, err) - } - - qBlock, qhkBlock, _ := qs.GetOK("block") - if err := o.bindBlock(qBlock, qhkBlock, route.Formats); err != nil { - res = append(res, err) - } - - rIPAddress, rhkIPAddress, _ := route.Params.GetOK("ip_address") - if err := o.bindIPAddress(rIPAddress, rhkIPAddress, route.Formats); err != nil { - res = append(res, err) - } - - rPort, rhkPort, _ := route.Params.GetOK("port") - if err := o.bindPort(rPort, rhkPort, route.Formats); err != nil { - res = append(res, err) - } - - rProto, rhkProto, _ := route.Params.GetOK("proto") - if err := o.bindProto(rProto, rhkProto, route.Formats); err != nil { - res = append(res, err) - } - - rUrlpath, rhkUrlpath, _ := route.Params.GetOK("urlpath") - if err := o.bindUrlpath(rUrlpath, rhkUrlpath, route.Formats); err != nil { - res = append(res, err) - } - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindBgp binds and validates parameter Bgp from query. -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindBgp(rawData []string, hasKey bool, formats strfmt.Registry) error { - var raw string - if len(rawData) > 0 { - raw = rawData[len(rawData)-1] - } - - // Required: false - // AllowEmptyValue: false - - if raw == "" { // empty values pass all other validations - return nil - } - - value, err := swag.ConvertBool(raw) - if err != nil { - return errors.InvalidType("bgp", "query", "bool", raw) - } - o.Bgp = &value - - return nil -} - -// bindBlock binds and validates parameter Block from query. -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindBlock(rawData []string, hasKey bool, formats strfmt.Registry) error { - var raw string - if len(rawData) > 0 { - raw = rawData[len(rawData)-1] - } - - // Required: false - // AllowEmptyValue: false - - if raw == "" { // empty values pass all other validations - return nil - } - - value, err := swag.ConvertFloat64(raw) - if err != nil { - return errors.InvalidType("block", "query", "float64", raw) - } - o.Block = &value - - return nil -} - -// bindIPAddress binds and validates parameter IPAddress from path. -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindIPAddress(rawData []string, hasKey bool, formats strfmt.Registry) error { - var raw string - if len(rawData) > 0 { - raw = rawData[len(rawData)-1] - } - - // Required: true - // Parameter is provided by construction from the route - o.IPAddress = raw - - return nil -} - -// bindPort binds and validates parameter Port from path. -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindPort(rawData []string, hasKey bool, formats strfmt.Registry) error { - var raw string - if len(rawData) > 0 { - raw = rawData[len(rawData)-1] - } - - // Required: true - // Parameter is provided by construction from the route - - value, err := swag.ConvertFloat64(raw) - if err != nil { - return errors.InvalidType("port", "path", "float64", raw) - } - o.Port = value - - return nil -} - -// bindProto binds and validates parameter Proto from path. -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindProto(rawData []string, hasKey bool, formats strfmt.Registry) error { - var raw string - if len(rawData) > 0 { - raw = rawData[len(rawData)-1] - } - - // Required: true - // Parameter is provided by construction from the route - o.Proto = raw - - return nil -} - -// bindUrlpath binds and validates parameter Urlpath from path. -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) bindUrlpath(rawData []string, hasKey bool, formats strfmt.Registry) error { - var raw string - if len(rawData) > 0 { - raw = rawData[len(rawData)-1] - } - - // Required: true - // Parameter is provided by construction from the route - o.Urlpath = raw - - return nil -} diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go deleted file mode 100644 index 7a9fd307f..000000000 --- a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_responses.go +++ /dev/null @@ -1,354 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package operations - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "net/http" - - "github.com/go-openapi/runtime" - - "github.com/loxilb-io/loxilb/api/models" -) - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContentCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContentCode int = 204 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent OK - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoNoContent -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent struct { -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent{} -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNoContent) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses - - rw.WriteHeader(204) -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequestCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequestCode int = 400 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest Malformed arguments for API call - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoBadRequest -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest struct { - - /* - In: Body - */ - Payload *models.Error `json:"body,omitempty"` -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest{} -} - -// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto bad request response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest { - o.Payload = payload - return o -} - -// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto bad request response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest) SetPayload(payload *models.Error) { - o.Payload = payload -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.WriteHeader(400) - if o.Payload != nil { - payload := o.Payload - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this - } - } -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorizedCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorizedCode int = 401 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized Invalid authentication credentials - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoUnauthorized -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized struct { - - /* - In: Body - */ - Payload *models.Error `json:"body,omitempty"` -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized{} -} - -// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto unauthorized response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized { - o.Payload = payload - return o -} - -// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto unauthorized response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) SetPayload(payload *models.Error) { - o.Payload = payload -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.WriteHeader(401) - if o.Payload != nil { - payload := o.Payload - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this - } - } -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbiddenCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbiddenCode int = 403 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden Capacity insufficient - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoForbidden -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden struct { - - /* - In: Body - */ - Payload *models.Error `json:"body,omitempty"` -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden{} -} - -// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto forbidden response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden { - o.Payload = payload - return o -} - -// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto forbidden response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden) SetPayload(payload *models.Error) { - o.Payload = payload -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoForbidden) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.WriteHeader(403) - if o.Payload != nil { - payload := o.Payload - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this - } - } -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFoundCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFoundCode int = 404 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound Resource not found - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoNotFound -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound struct { - - /* - In: Body - */ - Payload *models.Error `json:"body,omitempty"` -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound{} -} - -// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto not found response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound { - o.Payload = payload - return o -} - -// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto not found response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound) SetPayload(payload *models.Error) { - o.Payload = payload -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoNotFound) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.WriteHeader(404) - if o.Payload != nil { - payload := o.Payload - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this - } - } -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflictCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflictCode int = 409 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict Resource Conflict. VLAN already exists OR dependency VRF/VNET not found - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoConflict -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict struct { - - /* - In: Body - */ - Payload *models.Error `json:"body,omitempty"` -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict{} -} - -// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto conflict response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict { - o.Payload = payload - return o -} - -// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto conflict response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict) SetPayload(payload *models.Error) { - o.Payload = payload -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoConflict) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.WriteHeader(409) - if o.Payload != nil { - payload := o.Payload - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this - } - } -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerErrorCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerErrorCode int = 500 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError Internal service error - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoInternalServerError -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError struct { - - /* - In: Body - */ - Payload *models.Error `json:"body,omitempty"` -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError{} -} - -// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto internal server error response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError { - o.Payload = payload - return o -} - -// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto internal server error response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) SetPayload(payload *models.Error) { - o.Payload = payload -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.WriteHeader(500) - if o.Payload != nil { - payload := o.Payload - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this - } - } -} - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailableCode is the HTTP code returned for type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable -const DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailableCode int = 503 - -/* -DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable Maintanence mode - -swagger:response deleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIpAddressPortPortProtocolProtoServiceUnavailable -*/ -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable struct { - - /* - In: Body - */ - Payload *models.Error `json:"body,omitempty"` -} - -// NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable creates DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable with default headers values -func NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable() *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable { - - return &DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable{} -} - -// WithPayload adds the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto service unavailable response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable { - o.Payload = payload - return o -} - -// SetPayload sets the payload to the delete config loadbalancer urlpath urlpath externalipaddress Ip address port port protocol proto service unavailable response -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) SetPayload(payload *models.Error) { - o.Payload = payload -} - -// WriteResponse to the client -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { - - rw.WriteHeader(503) - if o.Payload != nil { - payload := o.Payload - if err := producer.Produce(rw, payload); err != nil { - panic(err) // let the recovery middleware deal with this - } - } -} diff --git a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go b/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go deleted file mode 100644 index aa3a8c5ee..000000000 --- a/api/restapi/operations/delete_config_loadbalancer_urlpath_urlpath_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package operations - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the generate command - -import ( - "errors" - "net/url" - golangswaggerpaths "path" - "strings" - - "github.com/go-openapi/swag" -) - -// DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL generates an URL for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation -type DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL struct { - IPAddress string - Port float64 - Proto string - Urlpath string - - Bgp *bool - Block *float64 - - _basePath string - // avoid unkeyed usage - _ struct{} -} - -// WithBasePath sets the base path for this url builder, only required when it's different from the -// base path specified in the swagger spec. -// When the value of the base path is an empty string -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) WithBasePath(bp string) *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL { - o.SetBasePath(bp) - return o -} - -// SetBasePath sets the base path for this url builder, only required when it's different from the -// base path specified in the swagger spec. -// When the value of the base path is an empty string -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) SetBasePath(bp string) { - o._basePath = bp -} - -// Build a url path and query string -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) Build() (*url.URL, error) { - var _result url.URL - - var _path = "/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}" - - iPAddress := o.IPAddress - if iPAddress != "" { - _path = strings.Replace(_path, "{ip_address}", iPAddress, -1) - } else { - return nil, errors.New("ipAddress is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") - } - - port := swag.FormatFloat64(o.Port) - if port != "" { - _path = strings.Replace(_path, "{port}", port, -1) - } else { - return nil, errors.New("port is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") - } - - proto := o.Proto - if proto != "" { - _path = strings.Replace(_path, "{proto}", proto, -1) - } else { - return nil, errors.New("proto is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") - } - - urlpath := o.Urlpath - if urlpath != "" { - _path = strings.Replace(_path, "{urlpath}", urlpath, -1) - } else { - return nil, errors.New("urlpath is required on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") - } - - _basePath := o._basePath - if _basePath == "" { - _basePath = "/netlox/v1" - } - _result.Path = golangswaggerpaths.Join(_basePath, _path) - - qs := make(url.Values) - - var bgpQ string - if o.Bgp != nil { - bgpQ = swag.FormatBool(*o.Bgp) - } - if bgpQ != "" { - qs.Set("bgp", bgpQ) - } - - var blockQ string - if o.Block != nil { - blockQ = swag.FormatFloat64(*o.Block) - } - if blockQ != "" { - qs.Set("block", blockQ) - } - - _result.RawQuery = qs.Encode() - - return &_result, nil -} - -// Must is a helper function to panic when the url builder returns an error -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) Must(u *url.URL, err error) *url.URL { - if err != nil { - panic(err) - } - if u == nil { - panic("url can't be nil") - } - return u -} - -// String returns the string representation of the path with query string -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) String() string { - return o.Must(o.Build()).String() -} - -// BuildFull builds a full url with scheme, host, path and query string -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) BuildFull(scheme, host string) (*url.URL, error) { - if scheme == "" { - return nil, errors.New("scheme is required for a full url on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") - } - if host == "" { - return nil, errors.New("host is required for a full url on DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL") - } - - base, err := o.Build() - if err != nil { - return nil, err - } - - base.Scheme = scheme - base.Host = host - return base, nil -} - -// StringFull returns the string representation of a complete url -func (o *DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoURL) StringFull(scheme, host string) string { - return o.Must(o.BuildFull(scheme, host)).String() -} diff --git a/api/restapi/operations/loxilb_rest_api_api.go b/api/restapi/operations/loxilb_rest_api_api.go index 9d571cd3b..4d0909b75 100644 --- a/api/restapi/operations/loxilb_rest_api_api.go +++ b/api/restapi/operations/loxilb_rest_api_api.go @@ -75,12 +75,12 @@ func NewLoxilbRestAPIAPI(spec *loads.Document) *LoxilbRestAPIAPI { DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler: DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(func(params DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProto has not yet been implemented") }), + DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler: DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(func(params DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { + return middleware.NotImplemented("operation DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto has not yet been implemented") + }), DeleteConfigLoadbalancerNameLbNameHandler: DeleteConfigLoadbalancerNameLbNameHandlerFunc(func(params DeleteConfigLoadbalancerNameLbNameParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigLoadbalancerNameLbName has not yet been implemented") }), - DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler: DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc(func(params DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { - return middleware.NotImplemented("operation DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto has not yet been implemented") - }), DeleteConfigMirrorIdentIdentHandler: DeleteConfigMirrorIdentIdentHandlerFunc(func(params DeleteConfigMirrorIdentIdentParams) middleware.Responder { return middleware.NotImplemented("operation DeleteConfigMirrorIdentIdent has not yet been implemented") }), @@ -313,10 +313,10 @@ type LoxilbRestAPIAPI struct { DeleteConfigLoadbalancerAllHandler DeleteConfigLoadbalancerAllHandler // DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler sets the operation handler for the delete config loadbalancer externalipaddress IP address port port protocol proto operation DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler + // DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler sets the operation handler for the delete config loadbalancer hosturl hosturl externalipaddress IP address port port protocol proto operation + DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler // DeleteConfigLoadbalancerNameLbNameHandler sets the operation handler for the delete config loadbalancer name lb name operation DeleteConfigLoadbalancerNameLbNameHandler DeleteConfigLoadbalancerNameLbNameHandler - // DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler sets the operation handler for the delete config loadbalancer urlpath urlpath externalipaddress IP address port port protocol proto operation - DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler // DeleteConfigMirrorIdentIdentHandler sets the operation handler for the delete config mirror ident ident operation DeleteConfigMirrorIdentIdentHandler DeleteConfigMirrorIdentIdentHandler // DeleteConfigNeighborIPAddressDevIfNameHandler sets the operation handler for the delete config neighbor IP address dev if name operation @@ -543,12 +543,12 @@ func (o *LoxilbRestAPIAPI) Validate() error { if o.DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler == nil { unregistered = append(unregistered, "DeleteConfigLoadbalancerExternalipaddressIPAddressPortPortProtocolProtoHandler") } + if o.DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler == nil { + unregistered = append(unregistered, "DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler") + } if o.DeleteConfigLoadbalancerNameLbNameHandler == nil { unregistered = append(unregistered, "DeleteConfigLoadbalancerNameLbNameHandler") } - if o.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler == nil { - unregistered = append(unregistered, "DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler") - } if o.DeleteConfigMirrorIdentIdentHandler == nil { unregistered = append(unregistered, "DeleteConfigMirrorIdentIdentHandler") } @@ -858,11 +858,11 @@ func (o *LoxilbRestAPIAPI) initHandlerCache() { if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) } - o.handlers["DELETE"]["/config/loadbalancer/name/{lb_name}"] = NewDeleteConfigLoadbalancerNameLbName(o.context, o.DeleteConfigLoadbalancerNameLbNameHandler) + o.handlers["DELETE"]["/config/loadbalancer/hosturl/{hosturl}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}"] = NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto(o.context, o.DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler) if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) } - o.handlers["DELETE"]["/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}"] = NewDeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProto(o.context, o.DeleteConfigLoadbalancerUrlpathUrlpathExternalipaddressIPAddressPortPortProtocolProtoHandler) + o.handlers["DELETE"]["/config/loadbalancer/name/{lb_name}"] = NewDeleteConfigLoadbalancerNameLbName(o.context, o.DeleteConfigLoadbalancerNameLbNameHandler) if o.handlers["DELETE"] == nil { o.handlers["DELETE"] = make(map[string]http.Handler) } diff --git a/common/common.go b/common/common.go index 314875591..b3568bea9 100644 --- a/common/common.go +++ b/common/common.go @@ -573,8 +573,8 @@ type LbServiceArg struct { PersistTimeout uint32 `json:"persistTimeout"` // Snat - Do SNAT Snat bool `json:"snat"` - // Path - Ingress Specific URL path - Path string `json:"path"` + // HostUrl - Ingress Specific URL path + HostUrl string `json:"path"` } // LbEndPointArg - Information related to load-balancer end-point diff --git a/loxilb-ebpf b/loxilb-ebpf index d34f73f20..5cf05d5cf 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit d34f73f20de8e062ab5a4af720da8b1f9637d11e +Subproject commit 5cf05d5cf1101a75933169fa4ca553e0ed8b8161 diff --git a/pkg/loxinet/dpbroker.go b/pkg/loxinet/dpbroker.go index c30f3294a..e2f7c31be 100644 --- a/pkg/loxinet/dpbroker.go +++ b/pkg/loxinet/dpbroker.go @@ -286,7 +286,8 @@ type NatDpWorkQ struct { BlockNum uint16 DsrMode bool CsumDis bool - TermHTTPs bool + TermHTTPS bool + HostURL string Proto uint8 Mark int NatType NatT diff --git a/pkg/loxinet/dpebpf_linux.go b/pkg/loxinet/dpebpf_linux.go index 4fe84e699..1cbd9a20a 100644 --- a/pkg/loxinet/dpebpf_linux.go +++ b/pkg/loxinet/dpebpf_linux.go @@ -129,7 +129,7 @@ type ( rtDat C.struct_dp_rt_tact rtL3NhAct C.struct_dp_rt_nh_act natKey C.struct_dp_nat_key - natActs C.struct_dp_nat_tacts + proxyActs C.struct_dp_proxy_tacts nxfrmAct C.struct_mf_xfrm_inf sess4Key C.struct_dp_sess4_key sessAct C.struct_dp_sess_tact @@ -953,98 +953,101 @@ func DpNatLbRuleMod(w *NatDpWorkQ) int { key.zone = C.ushort(w.ZoneNum) } - if w.Work == DpCreate { - dat := new(natActs) - C.memset(unsafe.Pointer(dat), 0, C.sizeof_struct_dp_nat_tacts) - if w.NatType == DpSnat { - dat.ca.act_type = C.DP_SET_SNAT - } else if w.NatType == DpDnat || w.NatType == DpFullNat { - dat.ca.act_type = C.DP_SET_DNAT - } else if w.NatType == DpFullProxy { - dat.ca.act_type = C.DP_SET_FULLPROXY - } else { - tk.LogIt(tk.LogDebug, "[DP] LB rule %s add[NOK] - EbpfErrNat4Add\n", w.ServiceIP.String()) - return EbpfErrNat4Add - } - - // seconds to nanoseconds - dat.ito = C.uint64_t(w.InActTo * 1000000000) - dat.pto = C.uint64_t(w.PersistTo * 1000000000) - dat.base_to = 0 + dat := new(proxyActs) + C.memset(unsafe.Pointer(dat), 0, C.sizeof_struct_dp_proxy_tacts) + if w.NatType == DpSnat { + dat.ca.act_type = C.DP_SET_SNAT + } else if w.NatType == DpDnat || w.NatType == DpFullNat { + dat.ca.act_type = C.DP_SET_DNAT + } else if w.NatType == DpFullProxy { + dat.ca.act_type = C.DP_SET_FULLPROXY + } else { + tk.LogIt(tk.LogDebug, "[DP] LB rule %s add[NOK] - EbpfErrNat4Add\n", w.ServiceIP.String()) + return EbpfErrNat4Add + } - /*dat.npmhh = 2 - dat.pmhh[0] = 0x64646464 - dat.pmhh[1] = 0x65656565*/ - for i, k := range w.secIP { - dat.pmhh[i] = C.uint(tk.IPtonl(k)) - } - dat.npmhh = C.uchar(len(w.secIP)) + // seconds to nanoseconds + dat.ito = C.uint64_t(w.InActTo * 1000000000) + dat.pto = C.uint64_t(w.PersistTo * 1000000000) + dat.base_to = 0 - switch { - case w.EpSel == EpRR: - dat.sel_type = C.NAT_LB_SEL_RR - case w.EpSel == EpHash: - dat.sel_type = C.NAT_LB_SEL_HASH - case w.EpSel == EpRRPersist: - dat.sel_type = C.NAT_LB_SEL_RR_PERSIST - case w.EpSel == EpLeastConn: - dat.sel_type = C.NAT_LB_SEL_LC - case w.EpSel == EpN2: - dat.sel_type = C.NAT_LB_SEL_N2 - /* Currently not implemented in DP */ - /*case w.EpSel == EP_PRIO: - dat.sel_type = C.NAT_LB_SEL_PRIO*/ - default: - dat.sel_type = C.NAT_LB_SEL_RR - } - dat.ca.cidx = C.uint(w.Mark) - if w.DsrMode { - dat.ca.oaux = 1 - } + /*dat.npmhh = 2 + dat.pmhh[0] = 0x64646464 + dat.pmhh[1] = 0x65656565*/ + for i, k := range w.secIP { + dat.pmhh[i] = C.uint(tk.IPtonl(k)) + } + dat.npmhh = C.uchar(len(w.secIP)) - nxfa := (*nxfrmAct)(unsafe.Pointer(&dat.nxfrms[0])) + switch { + case w.EpSel == EpRR: + dat.sel_type = C.NAT_LB_SEL_RR + case w.EpSel == EpHash: + dat.sel_type = C.NAT_LB_SEL_HASH + case w.EpSel == EpRRPersist: + dat.sel_type = C.NAT_LB_SEL_RR_PERSIST + case w.EpSel == EpLeastConn: + dat.sel_type = C.NAT_LB_SEL_LC + case w.EpSel == EpN2: + dat.sel_type = C.NAT_LB_SEL_N2 + /* Currently not implemented in DP */ + /*case w.EpSel == EP_PRIO: + dat.sel_type = C.NAT_LB_SEL_PRIO*/ + default: + dat.sel_type = C.NAT_LB_SEL_RR + } + dat.ca.cidx = C.uint(w.Mark) + if w.DsrMode { + dat.ca.oaux = 1 + } - for _, k := range w.endPoints { - nxfa.wprio = C.uchar(k.Weight) - nxfa.nat_xport = C.ushort(tk.Htons(k.XPort)) - if tk.IsNetIPv6(k.XIP.String()) { - convNetIP2DPv6Addr(unsafe.Pointer(&nxfa.nat_xip[0]), k.XIP) + nxfa := (*nxfrmAct)(unsafe.Pointer(&dat.nxfrms[0])) - if tk.IsNetIPv6(k.RIP.String()) { - convNetIP2DPv6Addr(unsafe.Pointer(&nxfa.nat_rip[0]), k.RIP) - } - nxfa.nv6 = 1 - } else { - nxfa.nat_xip[0] = C.uint(tk.IPtonl(k.XIP)) - nxfa.nat_rip[0] = C.uint(tk.IPtonl(k.RIP)) - nxfa.nv6 = 0 - } + for _, k := range w.endPoints { + nxfa.wprio = C.uchar(k.Weight) + nxfa.nat_xport = C.ushort(tk.Htons(k.XPort)) + if tk.IsNetIPv6(k.XIP.String()) { + convNetIP2DPv6Addr(unsafe.Pointer(&nxfa.nat_xip[0]), k.XIP) - if k.InActive { - nxfa.inactive = 1 + if tk.IsNetIPv6(k.RIP.String()) { + convNetIP2DPv6Addr(unsafe.Pointer(&nxfa.nat_rip[0]), k.RIP) } - - nxfa = (*nxfrmAct)(getPtrOffset(unsafe.Pointer(nxfa), - C.sizeof_struct_mf_xfrm_inf)) + nxfa.nv6 = 1 + } else { + nxfa.nat_xip[0] = C.uint(tk.IPtonl(k.XIP)) + nxfa.nat_rip[0] = C.uint(tk.IPtonl(k.RIP)) + nxfa.nv6 = 0 } - // Any unused end-points should be marked inactive - for i := len(w.endPoints); i < C.LLB_MAX_NXFRMS; i++ { - nxfa := (*nxfrmAct)(unsafe.Pointer(&dat.nxfrms[i])) + if k.InActive { nxfa.inactive = 1 } - dat.nxfrm = C.ushort(len(w.endPoints)) - if w.CsumDis { - dat.cdis = 1 - } else { - dat.cdis = 0 - } + nxfa = (*nxfrmAct)(getPtrOffset(unsafe.Pointer(nxfa), + C.sizeof_struct_mf_xfrm_inf)) + } - if w.TermHTTPs { - dat.sec_mode = C.SEC_MODE_HTTPS - } + // Any unused end-points should be marked inactive + for i := len(w.endPoints); i < C.LLB_MAX_NXFRMS; i++ { + nxfa := (*nxfrmAct)(unsafe.Pointer(&dat.nxfrms[i])) + nxfa.inactive = 1 + } + dat.nxfrm = C.ushort(len(w.endPoints)) + if w.CsumDis { + dat.cdis = 1 + } else { + dat.cdis = 0 + } + + if w.TermHTTPS { + dat.sec_mode = C.SEC_MODE_HTTPS + } + + hostURLStr := C.CString(w.HostURL) + C.memcpy(unsafe.Pointer(&dat.host_url[0]), unsafe.Pointer(hostURLStr), C.ulong(len(w.HostURL))+1) + + if w.Work == DpCreate { ret := C.llb_add_map_elem(C.LL_DP_NAT_MAP, unsafe.Pointer(key), unsafe.Pointer(dat)) @@ -1056,7 +1059,9 @@ func DpNatLbRuleMod(w *NatDpWorkQ) int { tk.LogIt(tk.LogDebug, "[DP] LB rule %s add[OK]\n", w.ServiceIP.String()) return 0 } else if w.Work == DpRemove { - C.llb_del_map_elem(C.LL_DP_NAT_MAP, unsafe.Pointer(key)) + C.llb_del_map_elem_wval(C.LL_DP_NAT_MAP, + unsafe.Pointer(key), + unsafe.Pointer(dat)) return 0 } diff --git a/pkg/loxinet/rules.go b/pkg/loxinet/rules.go index a20a45f07..072cc0fc1 100644 --- a/pkg/loxinet/rules.go +++ b/pkg/loxinet/rules.go @@ -792,7 +792,7 @@ func (R *RuleH) GetNatLbRule() ([]cmn.LbRuleMod, error) { ret.Serv.ProbeReq = data.hChk.prbReq ret.Serv.ProbeResp = data.hChk.prbResp ret.Serv.Name = data.name - ret.Serv.Path = data.tuples.path + ret.Serv.HostUrl = data.tuples.path if data.act.actType == RtActSnat { ret.Serv.Snat = true } @@ -950,7 +950,7 @@ func (R *RuleH) GetNatLbRuleByServArgs(serv cmn.LbServiceArg) *ruleEnt { l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.HostUrl} return R.tables[RtLB].eMap[rt.ruleKey()] } @@ -978,7 +978,7 @@ func (R *RuleH) GetNatLbRuleSecIPs(serv cmn.LbServiceArg) []string { l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.HostUrl} if R.tables[RtLB].eMap[rt.ruleKey()] != nil { for _, ip := range R.tables[RtLB].eMap[rt.ruleKey()].secIP { ips = append(ips, ip.sIP.String()) @@ -1499,7 +1499,7 @@ func (R *RuleH) AddNatLbRule(serv cmn.LbServiceArg, servSecIPs []cmn.LbSecIPArg, l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.HostUrl} eRule := R.tables[RtLB].eMap[rt.ruleKey()] @@ -1710,7 +1710,7 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) { l4prot := rule8Tuple{ipProto, 0xff} l3dst := ruleIPTuple{*sNetAddr} l4dst := rule16Tuple{serv.ServPort, 0xffff} - rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.Path} + rt := ruleTuples{l3Dst: l3dst, l4Prot: l4prot, l4Dst: l4dst, pref: serv.BlockNum, path: serv.HostUrl} rule := R.tables[RtLB].eMap[rt.ruleKey()] if rule == nil { @@ -2583,7 +2583,7 @@ func (r *ruleEnt) Nat2DP(work DpWorkT) int { nWork.Status = &r.sync nWork.ZoneNum = r.zone.ZoneNum if r.secMode == cmn.LBServHttps { - nWork.TermHTTPs = true + nWork.TermHTTPS = true } nWork.ServiceIP = r.tuples.l3Dst.addr.IP.Mask(r.tuples.l3Dst.addr.Mask) nWork.L4Port = r.tuples.l4Dst.val @@ -2592,6 +2592,7 @@ func (r *ruleEnt) Nat2DP(work DpWorkT) int { nWork.BlockNum = r.tuples.pref nWork.InActTo = uint64(r.iTO) nWork.PersistTo = uint64(r.pTO) + nWork.HostURL = r.tuples.path if r.act.actType == RtActDnat { nWork.NatType = DpDnat From cc4e57287c14b14edb00b3bd2b4898a1133120ab Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 19 Jul 2024 12:25:30 +0900 Subject: [PATCH 057/171] gh-726 Initial support for basic ingress support (w/HTTPS) based on http host header --- ...ess_ip_address_port_port_protocol_proto.go | 58 +++ ...ess_port_port_protocol_proto_parameters.go | 216 +++++++++++ ...ress_port_port_protocol_proto_responses.go | 354 ++++++++++++++++++ ...ess_port_port_protocol_proto_urlbuilder.go | 148 ++++++++ 4 files changed, 776 insertions(+) create mode 100644 api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto.go create mode 100644 api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_parameters.go create mode 100644 api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_responses.go create mode 100644 api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go diff --git a/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto.go b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto.go new file mode 100644 index 000000000..d8f7773b1 --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto.go @@ -0,0 +1,58 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime/middleware" +) + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc turns a function with the right signature into a delete config loadbalancer hosturl hosturl externalipaddress IP address port port protocol proto handler +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc func(DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder + +// Handle executing the request and returning a response +func (fn DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandlerFunc) Handle(params DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder { + return fn(params) +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler interface for that can handle valid delete config loadbalancer hosturl hosturl externalipaddress IP address port port protocol proto params +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler interface { + Handle(DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) middleware.Responder +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto creates a new http.Handler for the delete config loadbalancer hosturl hosturl externalipaddress IP address port port protocol proto operation +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto(ctx *middleware.Context, handler DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto { + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto{Context: ctx, Handler: handler} +} + +/* + DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto swagger:route DELETE /config/loadbalancer/hosturl/{hosturl}/externalipaddress/{ip_address}/port/{port}/protocol/{proto} deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProto + +# Delete an existing Load balancer service + +Delete an existing load balancer service with . +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto struct { + Context *middleware.Context + Handler DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoHandler +} + +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto) ServeHTTP(rw http.ResponseWriter, r *http.Request) { + route, rCtx, _ := o.Context.RouteInfo(r) + if rCtx != nil { + *r = *rCtx + } + var Params = NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams() + if err := o.Context.BindValidRequest(r, route, &Params); err != nil { // bind params + o.Context.Respond(rw, r, route.Produces, route, err) + return + } + + res := o.Handler.Handle(Params) // actually handle the request + o.Context.Respond(rw, r, route.Produces, route, res) + +} diff --git a/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_parameters.go b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_parameters.go new file mode 100644 index 000000000..4caef334e --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_parameters.go @@ -0,0 +1,216 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + "github.com/go-openapi/runtime/middleware" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams creates a new DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams object +// +// There are no default values defined in the spec. +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams() DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams { + + return DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams{} +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams contains all the bound params for the delete config loadbalancer hosturl hosturl externalipaddress IP address port port protocol proto operation +// typically these are obtained from a http.Request +// +// swagger:parameters DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProto +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams struct { + + // HTTP Request Object + HTTPRequest *http.Request `json:"-"` + + /*option for BGP enable + In: query + */ + Bgp *bool + /*block value if any + In: query + */ + Block *float64 + /*Attributes for load balance service + Required: true + In: path + */ + Hosturl string + /*Attributes for load balance service + Required: true + In: path + */ + IPAddress string + /*Attributes for load balance service + Required: true + In: path + */ + Port float64 + /*Attributes for load balance service + Required: true + In: path + */ + Proto string +} + +// BindRequest both binds and validates a request, it assumes that complex things implement a Validatable(strfmt.Registry) error interface +// for simple values it will use straight method calls. +// +// To ensure default values, the struct must have been initialized with NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams() beforehand. +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) BindRequest(r *http.Request, route *middleware.MatchedRoute) error { + var res []error + + o.HTTPRequest = r + + qs := runtime.Values(r.URL.Query()) + + qBgp, qhkBgp, _ := qs.GetOK("bgp") + if err := o.bindBgp(qBgp, qhkBgp, route.Formats); err != nil { + res = append(res, err) + } + + qBlock, qhkBlock, _ := qs.GetOK("block") + if err := o.bindBlock(qBlock, qhkBlock, route.Formats); err != nil { + res = append(res, err) + } + + rHosturl, rhkHosturl, _ := route.Params.GetOK("hosturl") + if err := o.bindHosturl(rHosturl, rhkHosturl, route.Formats); err != nil { + res = append(res, err) + } + + rIPAddress, rhkIPAddress, _ := route.Params.GetOK("ip_address") + if err := o.bindIPAddress(rIPAddress, rhkIPAddress, route.Formats); err != nil { + res = append(res, err) + } + + rPort, rhkPort, _ := route.Params.GetOK("port") + if err := o.bindPort(rPort, rhkPort, route.Formats); err != nil { + res = append(res, err) + } + + rProto, rhkProto, _ := route.Params.GetOK("proto") + if err := o.bindProto(rProto, rhkProto, route.Formats); err != nil { + res = append(res, err) + } + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// bindBgp binds and validates parameter Bgp from query. +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) bindBgp(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + + if raw == "" { // empty values pass all other validations + return nil + } + + value, err := swag.ConvertBool(raw) + if err != nil { + return errors.InvalidType("bgp", "query", "bool", raw) + } + o.Bgp = &value + + return nil +} + +// bindBlock binds and validates parameter Block from query. +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) bindBlock(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: false + // AllowEmptyValue: false + + if raw == "" { // empty values pass all other validations + return nil + } + + value, err := swag.ConvertFloat64(raw) + if err != nil { + return errors.InvalidType("block", "query", "float64", raw) + } + o.Block = &value + + return nil +} + +// bindHosturl binds and validates parameter Hosturl from path. +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) bindHosturl(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + o.Hosturl = raw + + return nil +} + +// bindIPAddress binds and validates parameter IPAddress from path. +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) bindIPAddress(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + o.IPAddress = raw + + return nil +} + +// bindPort binds and validates parameter Port from path. +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) bindPort(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + + value, err := swag.ConvertFloat64(raw) + if err != nil { + return errors.InvalidType("port", "path", "float64", raw) + } + o.Port = value + + return nil +} + +// bindProto binds and validates parameter Proto from path. +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoParams) bindProto(rawData []string, hasKey bool, formats strfmt.Registry) error { + var raw string + if len(rawData) > 0 { + raw = rawData[len(rawData)-1] + } + + // Required: true + // Parameter is provided by construction from the route + o.Proto = raw + + return nil +} diff --git a/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_responses.go b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_responses.go new file mode 100644 index 000000000..682cbbf72 --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_responses.go @@ -0,0 +1,354 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "net/http" + + "github.com/go-openapi/runtime" + + "github.com/loxilb-io/loxilb/api/models" +) + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContentCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContentCode int = 204 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent OK + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoNoContent +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent struct { +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent{} +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNoContent) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.Header().Del(runtime.HeaderContentType) //Remove Content-Type on empty responses + + rw.WriteHeader(204) +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequestCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequestCode int = 400 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest Malformed arguments for API call + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoBadRequest +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest{} +} + +// WithPayload adds the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto bad request response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto bad request response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(400) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorizedCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorizedCode int = 401 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized Invalid authentication credentials + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoUnauthorized +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized{} +} + +// WithPayload adds the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto unauthorized response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto unauthorized response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoUnauthorized) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(401) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbiddenCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbiddenCode int = 403 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden Capacity insufficient + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoForbidden +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden{} +} + +// WithPayload adds the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto forbidden response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto forbidden response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoForbidden) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(403) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFoundCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFoundCode int = 404 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound Resource not found + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoNotFound +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound{} +} + +// WithPayload adds the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto not found response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto not found response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoNotFound) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(404) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflictCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflictCode int = 409 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict Resource Conflict. VLAN already exists OR dependency VRF/VNET not found + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoConflict +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict{} +} + +// WithPayload adds the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto conflict response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto conflict response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoConflict) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(409) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerErrorCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerErrorCode int = 500 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError Internal service error + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoInternalServerError +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError{} +} + +// WithPayload adds the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto internal server error response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto internal server error response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(500) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailableCode is the HTTP code returned for type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable +const DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailableCode int = 503 + +/* +DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable Maintanence mode + +swagger:response deleteConfigLoadbalancerHosturlHosturlExternalipaddressIpAddressPortPortProtocolProtoServiceUnavailable +*/ +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable struct { + + /* + In: Body + */ + Payload *models.Error `json:"body,omitempty"` +} + +// NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable creates DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable with default headers values +func NewDeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable() *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable { + + return &DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable{} +} + +// WithPayload adds the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto service unavailable response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) WithPayload(payload *models.Error) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable { + o.Payload = payload + return o +} + +// SetPayload sets the payload to the delete config loadbalancer hosturl hosturl externalipaddress Ip address port port protocol proto service unavailable response +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) SetPayload(payload *models.Error) { + o.Payload = payload +} + +// WriteResponse to the client +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoServiceUnavailable) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) { + + rw.WriteHeader(503) + if o.Payload != nil { + payload := o.Payload + if err := producer.Produce(rw, payload); err != nil { + panic(err) // let the recovery middleware deal with this + } + } +} diff --git a/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go new file mode 100644 index 000000000..f6e9f09e3 --- /dev/null +++ b/api/restapi/operations/delete_config_loadbalancer_hosturl_hosturl_externalipaddress_ip_address_port_port_protocol_proto_urlbuilder.go @@ -0,0 +1,148 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package operations + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the generate command + +import ( + "errors" + "net/url" + golangswaggerpaths "path" + "strings" + + "github.com/go-openapi/swag" +) + +// DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL generates an URL for the delete config loadbalancer hosturl hosturl externalipaddress IP address port port protocol proto operation +type DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL struct { + Hosturl string + IPAddress string + Port float64 + Proto string + + Bgp *bool + Block *float64 + + _basePath string + // avoid unkeyed usage + _ struct{} +} + +// WithBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL) WithBasePath(bp string) *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL { + o.SetBasePath(bp) + return o +} + +// SetBasePath sets the base path for this url builder, only required when it's different from the +// base path specified in the swagger spec. +// When the value of the base path is an empty string +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL) SetBasePath(bp string) { + o._basePath = bp +} + +// Build a url path and query string +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL) Build() (*url.URL, error) { + var _result url.URL + + var _path = "/config/loadbalancer/hosturl/{hosturl}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}" + + hosturl := o.Hosturl + if hosturl != "" { + _path = strings.Replace(_path, "{hosturl}", hosturl, -1) + } else { + return nil, errors.New("hosturl is required on DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + iPAddress := o.IPAddress + if iPAddress != "" { + _path = strings.Replace(_path, "{ip_address}", iPAddress, -1) + } else { + return nil, errors.New("ipAddress is required on DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + port := swag.FormatFloat64(o.Port) + if port != "" { + _path = strings.Replace(_path, "{port}", port, -1) + } else { + return nil, errors.New("port is required on DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + proto := o.Proto + if proto != "" { + _path = strings.Replace(_path, "{proto}", proto, -1) + } else { + return nil, errors.New("proto is required on DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + _basePath := o._basePath + if _basePath == "" { + _basePath = "/netlox/v1" + } + _result.Path = golangswaggerpaths.Join(_basePath, _path) + + qs := make(url.Values) + + var bgpQ string + if o.Bgp != nil { + bgpQ = swag.FormatBool(*o.Bgp) + } + if bgpQ != "" { + qs.Set("bgp", bgpQ) + } + + var blockQ string + if o.Block != nil { + blockQ = swag.FormatFloat64(*o.Block) + } + if blockQ != "" { + qs.Set("block", blockQ) + } + + _result.RawQuery = qs.Encode() + + return &_result, nil +} + +// Must is a helper function to panic when the url builder returns an error +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL) Must(u *url.URL, err error) *url.URL { + if err != nil { + panic(err) + } + if u == nil { + panic("url can't be nil") + } + return u +} + +// String returns the string representation of the path with query string +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL) String() string { + return o.Must(o.Build()).String() +} + +// BuildFull builds a full url with scheme, host, path and query string +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL) BuildFull(scheme, host string) (*url.URL, error) { + if scheme == "" { + return nil, errors.New("scheme is required for a full url on DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL") + } + if host == "" { + return nil, errors.New("host is required for a full url on DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL") + } + + base, err := o.Build() + if err != nil { + return nil, err + } + + base.Scheme = scheme + base.Host = host + return base, nil +} + +// StringFull returns the string representation of a complete url +func (o *DeleteConfigLoadbalancerHosturlHosturlExternalipaddressIPAddressPortPortProtocolProtoURL) StringFull(scheme, host string) string { + return o.Must(o.BuildFull(scheme, host)).String() +} From c2e44f94b139ad471cb3144387abd1615d51ae78 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 19 Jul 2024 12:25:58 +0900 Subject: [PATCH 058/171] gh-726 Initial support for basic ingress support (w/HTTPS) based on http host header --- api/swagger.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/swagger.yml b/api/swagger.yml index 6d98815dd..f154fb4f8 100644 --- a/api/swagger.yml +++ b/api/swagger.yml @@ -234,12 +234,12 @@ paths: description: Maintanence mode schema: $ref: '#/definitions/Error' - '/config/loadbalancer/urlpath/{urlpath}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}': + '/config/loadbalancer/hosturl/{hosturl}/externalipaddress/{ip_address}/port/{port}/protocol/{proto}': delete: summary: Delete an existing Load balancer service description: Delete an existing load balancer service with . parameters: - - name: urlpath + - name: hosturl in: path type: string required: true @@ -2966,9 +2966,9 @@ definitions: type: integer format: int32 description: end-point specific op (0-create, 1-attachEP, 2-detachEP) - path: + host: type: string - description: Ingress specific URL path + description: Ingress specific host URL path endpoints: type: array From 9c4eb567156424eadc84b57df03473663a3fdb19 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 19 Jul 2024 13:43:16 +0900 Subject: [PATCH 059/171] gh-726 Initial support for basic ingress support (w/HTTPS) based on http host header --- loxilb-ebpf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index 5cf05d5cf..36b8a9b09 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit 5cf05d5cf1101a75933169fa4ca553e0ed8b8161 +Subproject commit 36b8a9b09479782aee7733497c3e2b37db834f72 From 542bb551a63e48867bfdebca7676bd6c0ae3cb6c Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Fri, 19 Jul 2024 14:12:22 +0900 Subject: [PATCH 060/171] gh-726 Initial support for basic ingress support (w/HTTPS) based on http host header --- loxilb-ebpf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index 36b8a9b09..a89b92b2e 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit 36b8a9b09479782aee7733497c3e2b37db834f72 +Subproject commit a89b92b2e05ac623161b1e18cb7e6153d95c2dd2 From 496740382e284c5e490f372ba193a28b566843f5 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Mon, 22 Jul 2024 10:48:29 +0900 Subject: [PATCH 061/171] Update README.md --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d6263a003..831baeaac 100644 --- a/README.md +++ b/README.md @@ -57,11 +57,14 @@ Additionally, loxilb can also support cluster-ip and node-port services, thereby loxilb works as a L4 load-balancer/service-proxy by default. Although it provides great performance, at times, L7 load-balancing might become necessary in K8s. There are many good L7 proxies already available for K8s. Still, we are working on providing a great L7 solution natively in eBPF. It is a tough endeavor one which should reap great benefits once completed. Please keep an eye for updates on this. ## Telco-Cloud with loxilb -For deploying telco-cloud with cloud-native functions, loxilb can be used as a SCP(service communication proxy). SCP is a communication proxy defined by [3GPP](https://www.etsi.org/deliver/etsi_ts/129500_129599/129500/16.04.00_60/ts_129500v160400p.pdf) and aimed at telco micro-services running in cloud-native environment. Telco-cloud requires load-balancing and communication across various interfaces/standards like N2, N4, E2(ORAN), S6x, 5GLAN, GTP etc. Each of these present its own unique challenges which loxilb aims to solve e.g.: +For deploying telco-cloud with cloud-native functions, loxilb can be used as a SCP(service communication proxy). SCP is a communication proxy defined by [3GPP](https://www.etsi.org/deliver/etsi_ts/129500_129599/129500/16.04.00_60/ts_129500v160400p.pdf) and aimed at telco micro-services running in cloud-native environment. Read more in this [blog](https://dev.to/nikhilmalik/5g-service-communication-proxy-with-loxilb-4242) +![image](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/scp.svg) + +Telco-cloud requires load-balancing and communication across various interfaces/standards like N2, N4, E2(ORAN), S6x, 5GLAN, GTP etc. Each of these present its own unique challenges which loxilb aims to solve e.g.: - N4 requires PFCP level session-intelligence -- N2 requires NGAP parsing capability -- S6x requires Diameter/SCTP multi-homing LB support -- MEC use-cases might require UL-CL understanding +- N2 requires NGAP parsing capability(Related Blogs - [Blog-1](https://www.loxilb.io/post/ngap-load-balancing-with-loxilb), [Blog-2](https://futuredon.medium.com/5g-sctp-loadbalancer-using-loxilb-b525198a9103), [Blog-3](https://medium.com/@ben0978327139/5g-sctp-loadbalancer-using-loxilb-applying-on-free5gc-b5c05bb723f0)) +- S6x requires Diameter/SCTP multi-homing LB support(Related [Blog](https://www.loxilb.io/post/k8s-introducing-sctp-multihoming-functionality-with-loxilb)) +- MEC use-cases might require UL-CL understanding(Related [Blog](https://futuredon.medium.com/5g-uplink-classifier-using-loxilb-7593a4d66f4c)) - Hitless failover support might be essential for mission-critical applications - E2 might require SCTP-LB with OpenVPN bundled together - SIP support is needed to enable cloud-native VOIP @@ -118,6 +121,7 @@ For deploying telco-cloud with cloud-native functions, loxilb can be used as a S - [System Requirements](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/requirements.md) - [Frequenctly Asked Questions- FAQs](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/faq.md) - [Blogs](https://www.loxilb.io/blog) +- [Demo Videos](https://www.youtube.com/@loxilb697) ## Community From 5bb90a50b26aeb09519395c4172572c6a20ef0d4 Mon Sep 17 00:00:00 2001 From: Changwoo Kim Date: Mon, 22 Jul 2024 16:59:04 +0900 Subject: [PATCH 062/171] Added CICD for httpproxy test --- cicd/httpproxy/config.sh | 38 +++++++++++++++++++++ cicd/httpproxy/rmconfig.sh | 18 ++++++++++ cicd/httpproxy/validation.sh | 64 ++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 cicd/httpproxy/config.sh create mode 100644 cicd/httpproxy/rmconfig.sh create mode 100644 cicd/httpproxy/validation.sh diff --git a/cicd/httpproxy/config.sh b/cicd/httpproxy/config.sh new file mode 100644 index 000000000..51ef2cea3 --- /dev/null +++ b/cicd/httpproxy/config.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +source ../common.sh + +echo "#########################################" +echo "Spawning all hosts" +echo "#########################################" + +spawn_docker_host --dock-type loxilb --dock-name llb1 +spawn_docker_host --dock-type host --dock-name l3h1 +spawn_docker_host --dock-type host --dock-name l3ep1 +spawn_docker_host --dock-type host --dock-name l3ep2 +spawn_docker_host --dock-type host --dock-name l3ep3 + +echo "#########################################" +echo "Connecting and configuring hosts" +echo "#########################################" + + +connect_docker_hosts l3h1 llb1 +connect_docker_hosts l3ep1 llb1 +connect_docker_hosts l3ep2 llb1 +connect_docker_hosts l3ep3 llb1 + +sleep 5 + +#L3 config +config_docker_host --host1 l3h1 --host2 llb1 --ptype phy --addr 10.10.10.1/24 --gw 10.10.10.254 +config_docker_host --host1 l3ep1 --host2 llb1 --ptype phy --addr 31.31.31.1/24 --gw 31.31.31.254 +config_docker_host --host1 l3ep2 --host2 llb1 --ptype phy --addr 32.32.32.1/24 --gw 32.32.32.254 +config_docker_host --host1 l3ep3 --host2 llb1 --ptype phy --addr 33.33.33.1/24 --gw 33.33.33.254 +config_docker_host --host1 llb1 --host2 l3h1 --ptype phy --addr 10.10.10.254/24 +config_docker_host --host1 llb1 --host2 l3ep1 --ptype phy --addr 31.31.31.254/24 +config_docker_host --host1 llb1 --host2 l3ep2 --ptype phy --addr 32.32.32.254/24 +config_docker_host --host1 llb1 --host2 l3ep3 --ptype phy --addr 33.33.33.254/24 + +sleep 5 +create_lb_rule llb1 10.10.10.254 --tcp=2020:8080 --endpoints=31.31.31.1:1,32.32.32.1:1,33.33.33.1:1 --mode=fullproxy diff --git a/cicd/httpproxy/rmconfig.sh b/cicd/httpproxy/rmconfig.sh new file mode 100644 index 000000000..9ea80577f --- /dev/null +++ b/cicd/httpproxy/rmconfig.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +source ../common.sh + +disconnect_docker_hosts l3h1 llb1 +disconnect_docker_hosts l3ep1 llb1 +disconnect_docker_hosts l3ep2 llb1 +disconnect_docker_hosts l3ep3 llb1 + +delete_docker_host llb1 +delete_docker_host l3h1 +delete_docker_host l3ep1 +delete_docker_host l3ep2 +delete_docker_host l3ep3 + +echo "#########################################" +echo "Deleted testbed" +echo "#########################################" diff --git a/cicd/httpproxy/validation.sh b/cicd/httpproxy/validation.sh new file mode 100644 index 000000000..356e07555 --- /dev/null +++ b/cicd/httpproxy/validation.sh @@ -0,0 +1,64 @@ +#!/bin/bash +source ../common.sh +echo SCENARIO-http-tcplb +$hexec l3ep1 node ../common/tcp_server.js server1 & +$hexec l3ep2 node ../common/tcp_server.js server2 & +$hexec l3ep3 node ../common/tcp_server.js server3 & + +sleep 5 +code=0 +servIP=( "10.10.10.254" ) +servArr=( "server1" "server2" "server3" ) +ep=( "31.31.31.1" "32.32.32.1" "33.33.33.1" ) +j=0 +waitCount=0 +while [ $j -le 2 ] +do + res=$($hexec l3h1 curl --max-time 10 -s ${ep[j]}:8080) + #echo $res + if [[ $res == "${servArr[j]}" ]] + then + echo "$res UP" + j=$(( $j + 1 )) + else + echo "Waiting for ${servArr[j]}(${ep[j]})" + waitCount=$(( $waitCount + 1 )) + if [[ $waitCount == 10 ]]; + then + echo "All Servers are not UP" + echo SCENARIO-http-tcplb [FAILED] + sudo killall -9 node 2>&1 > /dev/null + exit 1 + fi + fi + sleep 1 +done + +for k in {0..0} +do +echo "Testing Service IP: ${servIP[k]}" +lcode=0 +for i in {1..4} +do +for j in {0..2} +do + res=$($hexec l3h1 curl --max-time 10 -s http://${servIP[k]}:2020) + echo $res + if [[ $res != "${servArr[j]}" ]] + then + lcode=1 + fi + sleep 1 +done +done +if [[ $lcode == 0 ]] +then + echo SCENARIO-http-tcplb with ${servIP[k]} [OK] +else + echo SCENARIO-http-tcplb with ${servIP[k]} [FAILED] + code=1 +fi +done + +sudo killall -9 node 2>&1 > /dev/null +exit $code From 06d880ab661a02604a4a4d2383e04c98ba887849 Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Tue, 23 Jul 2024 17:42:09 +0900 Subject: [PATCH 063/171] Update README.md --- README.md | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 831baeaac..099f43333 100644 --- a/README.md +++ b/README.md @@ -10,15 +10,33 @@ loxilb is an open source cloud-native load-balancer based on GoLang/eBPF with th ## Kubernetes with loxilb Kubernetes defines many service constructs like cluster-ip, node-port, load-balancer etc for pod to pod, pod to service and service from outside communication. -

- -

+ +![Readme main](https://github.com/user-attachments/assets/12709c3f-08ca-429d-a9ec-c9efc90382b0) All these services are provided by load-balancers/proxies operating at Layer4/Layer7. Since Kubernetes's is highly modular, these services can be provided by different software modules. For example, kube-proxy is used by default to provide cluster-ip and node-port services. Service type load-balancer is usually provided by public cloud-provider(s) as a managed entity. But for on-prem and self-managed clusters, there are only a few good options available. Even for provider-managed K8s like EKS, there are many who would want to bring their own LB to clusters running anywhere. loxilb provides service type load-balancer as its main use-case. loxilb can be run in-cluster or ext-to-cluster as per user need. -Additionally, loxilb can also support cluster-ip and node-port services, thereby providing full cluster-mesh implementation for Kubernetes (replacment of kube-proxy). +loxilb works as a L4 load-balancer/service-proxy by default. Although it provides great performance, at times, L7 load-balancing might become necessary in K8s. loxilb also supports L7 load balancing in the form of Kubernestes Ingress. This will benefit users who wants L4 and L7 under the same hood. + +Additionally, loxilb also supports: +- [x] kube-proxy replacement with eBPF(full cluster-mesh implementation for Kubernetes). +- [x] Ingress Support +- [x] Kubernetes Gateway API +- [ ] Kubernetes Network Policies + +## Telco-Cloud with loxilb +For deploying telco-cloud with cloud-native functions, loxilb can be used as a SCP(service communication proxy). SCP is a communication proxy defined by [3GPP](https://www.etsi.org/deliver/etsi_ts/129500_129599/129500/16.04.00_60/ts_129500v160400p.pdf) and aimed at telco micro-services running in cloud-native environment. Read more in this [blog](https://dev.to/nikhilmalik/5g-service-communication-proxy-with-loxilb-4242) +![image](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/scp.svg) + +Telco-cloud requires load-balancing and communication across various interfaces/standards like N2, N4, E2(ORAN), S6x, 5GLAN, GTP etc. Each of these present its own unique challenges which loxilb aims to solve e.g.: +- N4 requires PFCP level session-intelligence +- N2 requires NGAP parsing capability(Related Blogs - [Blog-1](https://www.loxilb.io/post/ngap-load-balancing-with-loxilb), [Blog-2](https://futuredon.medium.com/5g-sctp-loadbalancer-using-loxilb-b525198a9103), [Blog-3](https://medium.com/@ben0978327139/5g-sctp-loadbalancer-using-loxilb-applying-on-free5gc-b5c05bb723f0)) +- S6x requires Diameter/SCTP multi-homing LB support(Related [Blog](https://www.loxilb.io/post/k8s-introducing-sctp-multihoming-functionality-with-loxilb)) +- MEC use-cases might require UL-CL understanding(Related [Blog](https://futuredon.medium.com/5g-uplink-classifier-using-loxilb-7593a4d66f4c)) +- Hitless failover support might be essential for mission-critical applications +- E2 might require SCTP-LB with OpenVPN bundled together +- SIP support is needed to enable cloud-native VOIP ## Why choose loxilb? @@ -53,22 +71,6 @@ Additionally, loxilb can also support cluster-ip and node-port services, thereby - Integrated goBGP based routing stack - A kubernetes agent [kube-loxilb](https://github.com/loxilb-io/kube-loxilb) written in Go -## Layer4 Vs Layer7 -loxilb works as a L4 load-balancer/service-proxy by default. Although it provides great performance, at times, L7 load-balancing might become necessary in K8s. There are many good L7 proxies already available for K8s. Still, we are working on providing a great L7 solution natively in eBPF. It is a tough endeavor one which should reap great benefits once completed. Please keep an eye for updates on this. - -## Telco-Cloud with loxilb -For deploying telco-cloud with cloud-native functions, loxilb can be used as a SCP(service communication proxy). SCP is a communication proxy defined by [3GPP](https://www.etsi.org/deliver/etsi_ts/129500_129599/129500/16.04.00_60/ts_129500v160400p.pdf) and aimed at telco micro-services running in cloud-native environment. Read more in this [blog](https://dev.to/nikhilmalik/5g-service-communication-proxy-with-loxilb-4242) -![image](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/scp.svg) - -Telco-cloud requires load-balancing and communication across various interfaces/standards like N2, N4, E2(ORAN), S6x, 5GLAN, GTP etc. Each of these present its own unique challenges which loxilb aims to solve e.g.: -- N4 requires PFCP level session-intelligence -- N2 requires NGAP parsing capability(Related Blogs - [Blog-1](https://www.loxilb.io/post/ngap-load-balancing-with-loxilb), [Blog-2](https://futuredon.medium.com/5g-sctp-loadbalancer-using-loxilb-b525198a9103), [Blog-3](https://medium.com/@ben0978327139/5g-sctp-loadbalancer-using-loxilb-applying-on-free5gc-b5c05bb723f0)) -- S6x requires Diameter/SCTP multi-homing LB support(Related [Blog](https://www.loxilb.io/post/k8s-introducing-sctp-multihoming-functionality-with-loxilb)) -- MEC use-cases might require UL-CL understanding(Related [Blog](https://futuredon.medium.com/5g-uplink-classifier-using-loxilb-7593a4d66f4c)) -- Hitless failover support might be essential for mission-critical applications -- E2 might require SCTP-LB with OpenVPN bundled together -- SIP support is needed to enable cloud-native VOIP - ## Architectural Considerations - [Understanding loxilb modes and deployment in K8s with kube-loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/kube-loxilb.md) - [Understanding High-availability with loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/ha-deploy.md) From 51f550f4eb9673bc764266108d82408cbc4e8418 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Tue, 23 Jul 2024 17:54:00 +0900 Subject: [PATCH 064/171] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 099f43333..ce63c0242 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ All these services are provided by load-balancers/proxies operating at Layer4/La Service type load-balancer is usually provided by public cloud-provider(s) as a managed entity. But for on-prem and self-managed clusters, there are only a few good options available. Even for provider-managed K8s like EKS, there are many who would want to bring their own LB to clusters running anywhere. loxilb provides service type load-balancer as its main use-case. loxilb can be run in-cluster or ext-to-cluster as per user need. -loxilb works as a L4 load-balancer/service-proxy by default. Although it provides great performance, at times, L7 load-balancing might become necessary in K8s. loxilb also supports L7 load balancing in the form of Kubernestes Ingress. This will benefit users who wants L4 and L7 under the same hood. +loxilb works as a L4 load-balancer/service-proxy by default. Although L4 load-balancing provides great performance and functionality, at times, an equally performant L7 load-balancer is also necessary in K8s for various use-cases. loxilb also supports L7 load-balancing in the form of Kubernetes Ingress implementation. This also benefit users who wants L4 and L7 load-balancing under the same hood. Additionally, loxilb also supports: - [x] kube-proxy replacement with eBPF(full cluster-mesh implementation for Kubernetes). From 4871f8813881576276ffd5beb003b46ff3d3ad44 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Tue, 23 Jul 2024 17:55:25 +0900 Subject: [PATCH 065/171] gh-726 Fixes for Ingress --- loxilb-ebpf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index a89b92b2e..ffbed7aa6 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit a89b92b2e05ac623161b1e18cb7e6153d95c2dd2 +Subproject commit ffbed7aa6aa0e976f793d0a2ab3b0a7075b1a2bd From 01c51276510cbc440bbbf109fab2a5537373e78e Mon Sep 17 00:00:00 2001 From: Trekkie <111065900+TrekkieCoder@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:07:19 +0900 Subject: [PATCH 066/171] chore: README typo fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce63c0242..cba50316d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ All these services are provided by load-balancers/proxies operating at Layer4/La Service type load-balancer is usually provided by public cloud-provider(s) as a managed entity. But for on-prem and self-managed clusters, there are only a few good options available. Even for provider-managed K8s like EKS, there are many who would want to bring their own LB to clusters running anywhere. loxilb provides service type load-balancer as its main use-case. loxilb can be run in-cluster or ext-to-cluster as per user need. -loxilb works as a L4 load-balancer/service-proxy by default. Although L4 load-balancing provides great performance and functionality, at times, an equally performant L7 load-balancer is also necessary in K8s for various use-cases. loxilb also supports L7 load-balancing in the form of Kubernetes Ingress implementation. This also benefit users who wants L4 and L7 load-balancing under the same hood. +loxilb works as a L4 load-balancer/service-proxy by default. Although L4 load-balancing provides great performance and functionality, at times, an equally performant L7 load-balancer is also necessary in K8s for various use-cases. loxilb also supports L7 load-balancing in the form of Kubernetes Ingress implementation. This also benefit users who need L4 and L7 load-balancing under the same hood. Additionally, loxilb also supports: - [x] kube-proxy replacement with eBPF(full cluster-mesh implementation for Kubernetes). From 85e4119a8df23ef0809ea390c5808bd6a2e8dea1 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Tue, 23 Jul 2024 23:49:14 +0900 Subject: [PATCH 067/171] chore: Updated README --- README.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index cba50316d..e55ca322b 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ loxilb is an open source cloud-native load-balancer based on GoLang/eBPF with th ## Kubernetes with loxilb -Kubernetes defines many service constructs like cluster-ip, node-port, load-balancer etc for pod to pod, pod to service and service from outside communication. +Kubernetes defines many service constructs like cluster-ip, node-port, load-balancer etc for pod to pod, pod to service and outside-world to service communication. -![Readme main](https://github.com/user-attachments/assets/12709c3f-08ca-429d-a9ec-c9efc90382b0) +![LoxiLB Cover](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/loxilb-cover.png) All these services are provided by load-balancers/proxies operating at Layer4/Layer7. Since Kubernetes's is highly modular, these services can be provided by different software modules. For example, kube-proxy is used by default to provide cluster-ip and node-port services. @@ -20,7 +20,7 @@ Service type load-balancer is usually provided by public cloud-provider(s) as a loxilb works as a L4 load-balancer/service-proxy by default. Although L4 load-balancing provides great performance and functionality, at times, an equally performant L7 load-balancer is also necessary in K8s for various use-cases. loxilb also supports L7 load-balancing in the form of Kubernetes Ingress implementation. This also benefit users who need L4 and L7 load-balancing under the same hood. Additionally, loxilb also supports: -- [x] kube-proxy replacement with eBPF(full cluster-mesh implementation for Kubernetes). +- [x] kube-proxy replacement with eBPF(full cluster-mesh implementation for Kubernetes) - [x] Ingress Support - [x] Kubernetes Gateway API - [ ] Kubernetes Network Policies @@ -164,9 +164,6 @@ Feel free to post your queries in github [discussion](https://github.com/loxilb- | [![k3s-sctpmh-2-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh-2.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh-2.yml) | | | - - - ## 📚 Please check loxilb [website](https://www.loxilb.io) for more detailed info. [docs-shield]: https://img.shields.io/badge/info-docs-blue From 7d8e161a2820f9112fb9cc564cbd690d7fedd6a3 Mon Sep 17 00:00:00 2001 From: Hanna Date: Wed, 24 Jul 2024 13:46:13 +0900 Subject: [PATCH 068/171] Added CICD for the Rabbitmq on the K3s incluster --- cicd/k3s-rabbitmq-incluster/Vagrantfile | 51 + cicd/k3s-rabbitmq-incluster/config.sh | 3 + cicd/k3s-rabbitmq-incluster/grafana.yaml | 84 + cicd/k3s-rabbitmq-incluster/host.sh | 10 + cicd/k3s-rabbitmq-incluster/install_cilium.sh | 13 + cicd/k3s-rabbitmq-incluster/iperf-service.yml | 32 + cicd/k3s-rabbitmq-incluster/k3s.yaml | 19 + cicd/k3s-rabbitmq-incluster/kube-loxilb.yml | 130 ++ cicd/k3s-rabbitmq-incluster/loxilb.sh | 13 + cicd/k3s-rabbitmq-incluster/loxilb.yml | 77 + .../manifests/cilium-ippool.yaml | 7 + .../manifests/cilium-policy.yaml | 9 + .../manifests/iperf-service-loxilb.yml | 32 + .../manifests/iperf-service-metallb.yml | 29 + .../manifests/kube-loxilb.yml | 130 ++ .../manifests/loxilb.yml | 67 + .../manifests/metallb-addr-pool.yml | 8 + .../manifests/metallb-native.yaml | 2042 +++++++++++++++++ cicd/k3s-rabbitmq-incluster/master.sh | 14 + .../master_with_cilium.sh | 29 + cicd/k3s-rabbitmq-incluster/prom_rbac.yaml | 42 + cicd/k3s-rabbitmq-incluster/prom_svc.yaml | 17 + cicd/k3s-rabbitmq-incluster/prometheus.yaml | 21 + .../prometheus_servicemonitor.yaml | 13 + cicd/k3s-rabbitmq-incluster/rmconfig.sh | 4 + .../rmq/client-service.yaml | 24 + .../k3s-rabbitmq-incluster/rmq/configmap.yaml | 15 + .../rmq/headless-service.yaml | 20 + .../k3s-rabbitmq-incluster/rmq/namespace.yaml | 6 + cicd/k3s-rabbitmq-incluster/rmq/rabbitmq.yaml | 24 + cicd/k3s-rabbitmq-incluster/rmq/rbac.yaml | 33 + .../rmq/statefulset.yaml | 142 ++ cicd/k3s-rabbitmq-incluster/validation.sh | 58 + cicd/k3s-rabbitmq-incluster/wait_ready.sh | 38 + cicd/k3s-rabbitmq-incluster/worker.sh | 13 + .../worker_with_cilium.sh | 14 + 36 files changed, 3283 insertions(+) create mode 100644 cicd/k3s-rabbitmq-incluster/Vagrantfile create mode 100755 cicd/k3s-rabbitmq-incluster/config.sh create mode 100644 cicd/k3s-rabbitmq-incluster/grafana.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/host.sh create mode 100755 cicd/k3s-rabbitmq-incluster/install_cilium.sh create mode 100644 cicd/k3s-rabbitmq-incluster/iperf-service.yml create mode 100644 cicd/k3s-rabbitmq-incluster/k3s.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/kube-loxilb.yml create mode 100644 cicd/k3s-rabbitmq-incluster/loxilb.sh create mode 100644 cicd/k3s-rabbitmq-incluster/loxilb.yml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/cilium-ippool.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/cilium-policy.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/iperf-service-loxilb.yml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/iperf-service-metallb.yml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/kube-loxilb.yml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/loxilb.yml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/metallb-addr-pool.yml create mode 100644 cicd/k3s-rabbitmq-incluster/manifests/metallb-native.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/master.sh create mode 100644 cicd/k3s-rabbitmq-incluster/master_with_cilium.sh create mode 100644 cicd/k3s-rabbitmq-incluster/prom_rbac.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/prom_svc.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/prometheus.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/prometheus_servicemonitor.yaml create mode 100755 cicd/k3s-rabbitmq-incluster/rmconfig.sh create mode 100644 cicd/k3s-rabbitmq-incluster/rmq/client-service.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/rmq/configmap.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/rmq/headless-service.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/rmq/namespace.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/rmq/rabbitmq.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/rmq/rbac.yaml create mode 100644 cicd/k3s-rabbitmq-incluster/rmq/statefulset.yaml create mode 100755 cicd/k3s-rabbitmq-incluster/validation.sh create mode 100755 cicd/k3s-rabbitmq-incluster/wait_ready.sh create mode 100644 cicd/k3s-rabbitmq-incluster/worker.sh create mode 100644 cicd/k3s-rabbitmq-incluster/worker_with_cilium.sh diff --git a/cicd/k3s-rabbitmq-incluster/Vagrantfile b/cicd/k3s-rabbitmq-incluster/Vagrantfile new file mode 100644 index 000000000..fc1347f48 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/Vagrantfile @@ -0,0 +1,51 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +workers = (ENV['WORKERS'] || "3").to_i +box_name = (ENV['VAGRANT_BOX'] || "sysnet4admin/Ubuntu-k8s") +box_version = "0.7.1" +Vagrant.configure("2") do |config| + config.vm.box = "#{box_name}" + config.vm.box_version = "#{box_version}" + + if Vagrant.has_plugin?("vagrant-vbguest") + config.vbguest.auto_update = false + end + + config.vm.define "host" do |host| + host.vm.hostname = 'host' + host.vm.network :private_network, ip: "192.168.80.9", :netmask => "255.255.255.0" + host.vm.network :private_network, ip: "192.168.90.9", :netmask => "255.255.255.0" + host.vm.provision :shell, :path => "host.sh" + host.vm.provider :virtualbox do |vbox| + vbox.memory = "4096" + vbox.cpus = "8" + vbox.default_nic_type = "virtio" + end + end + + config.vm.define "master" do |master| + master.vm.hostname = 'master' + master.vm.network :private_network, ip: "192.168.80.10", :netmask => "255.255.255.0" + master.vm.provision :shell, :path => "master.sh" + master.vm.provider :virtualbox do |vbox| + vbox.memory = "4096" + vbox.cpus = "4" + vbox.default_nic_type = "virtio" + end + end + + (1..workers).each do |node_number| + config.vm.define "worker#{node_number}" do |worker| + worker.vm.hostname = "worker#{node_number}" + ip = node_number + 100 + worker.vm.network :private_network, ip: "192.168.80.#{ip}", :netmask => "255.255.255.0" + worker.vm.provision :shell, :path => "worker.sh" + worker.vm.provider :virtualbox do |vbox| + vbox.memory = "4096" + vbox.cpus = "4" + vbox.default_nic_type = "virtio" + end + end + end +end diff --git a/cicd/k3s-rabbitmq-incluster/config.sh b/cicd/k3s-rabbitmq-incluster/config.sh new file mode 100755 index 000000000..6b8ee48ef --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/config.sh @@ -0,0 +1,3 @@ +#!/bin/bash +vagrant global-status | grep -i virtualbox | cut -f 1 -d ' ' | xargs -L 1 vagrant destroy -f +vagrant up diff --git a/cicd/k3s-rabbitmq-incluster/grafana.yaml b/cicd/k3s-rabbitmq-incluster/grafana.yaml new file mode 100644 index 000000000..b41ec5405 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/grafana.yaml @@ -0,0 +1,84 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: grafana-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: grafana + name: grafana +spec: + selector: + matchLabels: + app: grafana + template: + metadata: + labels: + app: grafana + spec: + securityContext: + fsGroup: 472 + supplementalGroups: + - 0 + containers: + - name: grafana + image: grafana/grafana:9.1.0 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 3000 + name: http-grafana + protocol: TCP + readinessProbe: + failureThreshold: 3 + httpGet: + path: /robots.txt + port: 3000 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 30 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + tcpSocket: + port: 3000 + timeoutSeconds: 1 + resources: + requests: + cpu: 250m + memory: 750Mi + volumeMounts: + - mountPath: /var/lib/grafana + name: grafana-pv + volumes: + - name: grafana-pv + persistentVolumeClaim: + claimName: grafana-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: grafana +spec: + ports: + - port: 3000 + protocol: TCP + targetPort: http-grafana + selector: + app: grafana + sessionAffinity: None + type: LoadBalancer + externalTrafficPolicy: Local + loadBalancerClass: loxilb.io/loxilb diff --git a/cicd/k3s-rabbitmq-incluster/host.sh b/cicd/k3s-rabbitmq-incluster/host.sh new file mode 100644 index 000000000..f29d40e71 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/host.sh @@ -0,0 +1,10 @@ +apt-get update +apt-get install -y software-properties-common +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" +apt-get update +apt-get install -y docker-ce + +#curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +#add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" +apt-get install -y iperf iperf3 diff --git a/cicd/k3s-rabbitmq-incluster/install_cilium.sh b/cicd/k3s-rabbitmq-incluster/install_cilium.sh new file mode 100755 index 000000000..7206c022d --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/install_cilium.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +#Install Cilium +CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/master/stable.txt) +CLI_ARCH=amd64 +if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi +curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum} +sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum +sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin +rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum} +mkdir -p ~/.kube/ +sudo cat /etc/rancher/k3s/k3s.yaml > ~/.kube/config +cilium install diff --git a/cicd/k3s-rabbitmq-incluster/iperf-service.yml b/cicd/k3s-rabbitmq-incluster/iperf-service.yml new file mode 100644 index 000000000..1d23f273c --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/iperf-service.yml @@ -0,0 +1,32 @@ +apiVersion: v1 +kind: Service +metadata: + name: iperf-service + annotations: + loxilb.io/lbmode: "onearm" +spec: + externalTrafficPolicy: Local + loadBalancerClass: loxilb.io/loxilb + selector: + what: perf-test + ports: + - port: 55001 + targetPort: 5001 + type: LoadBalancer +--- +apiVersion: v1 +kind: Pod +metadata: + name: iperf1 + labels: + what: perf-test +spec: + containers: + - name: iperf + image: eyes852/ubuntu-iperf-test:0.5 + command: + - iperf + - "-s" + ports: + - containerPort: 5001 + diff --git a/cicd/k3s-rabbitmq-incluster/k3s.yaml b/cicd/k3s-rabbitmq-incluster/k3s.yaml new file mode 100644 index 000000000..546f1c3fd --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/k3s.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkakNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTVRBNE1qWXhOVEl3SGhjTk1qUXdNekU1TURVeU9URXlXaGNOTXpRd016RTNNRFV5T1RFeQpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTVRBNE1qWXhOVEl3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRcjhwZm83akZnSUN1WkZlVkdCZVRrc01PdElZWjZidWVVYVFBc1BLbU0KTGVYbm9Uc1JzRFJ5Wi92Vmw1NzNZZHNHeTYxSHh1WFN3bTNPUFhvS25DKzFvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVVltWTVuMnhPdUpmNEgvUmt5aDJwCnpPaDE4K3d3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnSnUvbVRlUk9qeC8rdGdNckxQdC9NMmF0a1RqRUw3NkkKU2xQV0N3eEticlVDSUhRZFZEQVJGVWtPd1ZNNEppdVhTaG5JYkt1OXJBNzdocXZBdlZ0ZFEzWEMKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + server: https://192.168.80.10:6443 + name: default +contexts: +- context: + cluster: default + user: default + name: default +current-context: default +kind: Config +preferences: {} +users: +- name: default + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrRENDQVRlZ0F3SUJBZ0lJRUk5Tm02SXBsdzB3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekV3T0RJMk1UVXlNQjRYRFRJME1ETXhPVEExTWpreE1sb1hEVEkxTURNeApPVEExTWpreE1sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJONlJVVGVwcnZBRkNuN2EKcDZndmRUMmxPN1MrWXd3bTZ3em45T2xXcWw4ZnJqNTgwcktEWVNxVmFCdkxUL2IrZytBL0pQRUV6TXFscWdYTwpGYWo0TElTalNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVGRNaERoRUZQOEdlMVBSblh4d2hWcGltUHZYakFLQmdncWhrak9QUVFEQWdOSEFEQkUKQWlBaGNVd1d3WE1iRGZaVkE2NHVSemhweDR5dmg0UUNEM0ZZa2YwQkwwQ2FlZ0lnTmZ4enArenUxWk5PZWpoTAo2d3ZXVXhuekZpQ2xZYUpzNDVrcCt6ZFJuME09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTVRBNE1qWXhOVEl3SGhjTk1qUXdNekU1TURVeU9URXlXaGNOTXpRd016RTNNRFV5T1RFeQpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTVRBNE1qWXhOVEl3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFUTUoxd1ZOcEIwS0N6MWx5bWhRRGc3UDhRSGxGcHBUOHc5blFCWGYyeGQKMWtTb2RyS3RvSzlQYTJtelNiWFNtei9acTBpQk94SkY3aTdyT3BhQzZXUHdvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTNUSVE0UkJUL0JudFQwWjE4Y0lWCmFZcGo3MTR3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUloQUlRN3ZNVldZNkMxaVdLakIzNEYzdVZFQS9GSVpKVVAKRWM1bEFLS0JSWW8vQWlBbUFVVnQzRkRrSEYreFhJWUlzenBscWVDNWZ0Y0g1azJDaFFrbXFZaThXQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU9KamZxUm90eWRLd0poQkY5SHJlTG1RNExSYVp2NFFiRXp0K0I0WnBTeWNvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFM3BGUk42bXU4QVVLZnRxbnFDOTFQYVU3dEw1akRDYnJET2YwNlZhcVh4K3VQbnpTc29OaApLcFZvRzh0UDl2NkQ0RDhrOFFUTXlxV3FCYzRWcVBnc2hBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= diff --git a/cicd/k3s-rabbitmq-incluster/kube-loxilb.yml b/cicd/k3s-rabbitmq-incluster/kube-loxilb.yml new file mode 100644 index 000000000..f6d54ad8f --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/kube-loxilb.yml @@ -0,0 +1,130 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-loxilb + namespace: kube-system +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kube-loxilb +rules: + - apiGroups: + - "" + resources: + - nodes + verbs: + - get + - watch + - list + - patch + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - watch + - list + - patch + - apiGroups: + - "" + resources: + - endpoints + - services + - services/status + verbs: + - get + - watch + - list + - patch + - update + - apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - watch + - list + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kube-loxilb +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kube-loxilb +subjects: + - kind: ServiceAccount + name: kube-loxilb + namespace: kube-system +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kube-loxilb + namespace: kube-system + labels: + app: loxilb +spec: + replicas: 1 + selector: + matchLabels: + app: loxilb + template: + metadata: + labels: + app: loxilb + spec: + hostNetwork: true + tolerations: + - effect: NoSchedule + operator: Exists + # Mark the pod as a critical add-on for rescheduling. + - key: CriticalAddonsOnly + operator: Exists + - effect: NoExecute + operator: Exists + priorityClassName: system-node-critical + serviceAccountName: kube-loxilb + terminationGracePeriodSeconds: 0 + containers: + - name: kube-loxilb + image: ghcr.io/loxilb-io/kube-loxilb:latest + imagePullPolicy: Always + command: + - /bin/kube-loxilb + args: + #- --loxiURL=http://192.168.80.9:11111 + - --externalCIDR=192.168.80.20/32 + - --setRoles=0.0.0.0 + #- --monitor + #- --setBGP + - --setLBMode=1 + #- --config=/opt/loxilb/agent/kube-loxilb.conf + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + capabilities: + add: ["NET_ADMIN", "NET_RAW"] diff --git a/cicd/k3s-rabbitmq-incluster/loxilb.sh b/cicd/k3s-rabbitmq-incluster/loxilb.sh new file mode 100644 index 000000000..74e66ae9b --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/loxilb.sh @@ -0,0 +1,13 @@ +export LOXILB_IP=$(ip a |grep global | grep -v '10.0.2.15' | grep -v '192.168.80' | awk '{print $2}' | cut -f1 -d '/') + +apt-get update +apt-get install -y software-properties-common +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - +add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" +apt-get update +apt-get install -y docker-ce +docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dit -v /dev/log:/dev/log --net=host --name loxilb ghcr.io/loxilb-io/loxilb:latest +echo alias loxicmd=\"sudo docker exec -it loxilb loxicmd\" >> ~/.bashrc +echo alias loxilb=\"sudo docker exec -it loxilb \" >> ~/.bashrc + +echo $LOXILB_IP > /vagrant/loxilb-ip diff --git a/cicd/k3s-rabbitmq-incluster/loxilb.yml b/cicd/k3s-rabbitmq-incluster/loxilb.yml new file mode 100644 index 000000000..30cf81d96 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/loxilb.yml @@ -0,0 +1,77 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: loxilb-lb + namespace: kube-system + labels: + app: loxilb-app +spec: + selector: + matchLabels: + app: loxilb-app + template: + metadata: + labels: + app: loxilb-app + spec: + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + tolerations: + - key: "node-role.kubernetes.io/master" + operator: Exists + - key: "node-role.kubernetes.io/control-plane" + operator: Exists + #affinity: + # nodeAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # nodeSelectorTerms: + # - matchExpressions: + # - key: "node-role.kubernetes.io/master" + # operator: Exists + # - key: "node-role.kubernetes.io/control-plane" + # operator: Exists + priorityClassName: system-node-critical + serviceAccountName: kube-loxilb + containers: + - name: loxilb-lb + image: "ghcr.io/loxilb-io/loxilb:latest" + imagePullPolicy: Always + #command: [ "/root/loxilb-io/loxilb/loxilb", "--egr-hooks", "--blacklist=cni.|veth.|flannel.|cali.|tunl.|vxlan[.]calico", "--ipvs-compat", "--k8s-api=cluster" ] + command: [ "/root/loxilb-io/loxilb/loxilb", "--ipvs-compat"] + ports: + - containerPort: 11111 + - containerPort: 179 + - containerPort: 50051 + securityContext: + privileged: true + capabilities: + add: + - SYS_ADMIN + env: + - name: MY_NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP +--- +apiVersion: v1 +kind: Service +metadata: + name: loxilb-lb-service + namespace: kube-system +spec: + clusterIP: None + selector: + app: loxilb-app + ports: + - name: loxilb-app + port: 11111 + targetPort: 11111 + protocol: TCP + - name: loxilb-app-bgp + port: 179 + targetPort: 179 + protocol: TCP + - name: loxilb-app-gobgp + port: 50051 + targetPort: 50051 + protocol: TCP diff --git a/cicd/k3s-rabbitmq-incluster/manifests/cilium-ippool.yaml b/cicd/k3s-rabbitmq-incluster/manifests/cilium-ippool.yaml new file mode 100644 index 000000000..5dd565002 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/cilium-ippool.yaml @@ -0,0 +1,7 @@ +apiVersion: "cilium.io/v2alpha1" +kind: CiliumLoadBalancerIPPool +metadata: + name: "lb-pool" +spec: + cidrs: + - cidr: "192.168.80.20/24" diff --git a/cicd/k3s-rabbitmq-incluster/manifests/cilium-policy.yaml b/cicd/k3s-rabbitmq-incluster/manifests/cilium-policy.yaml new file mode 100644 index 000000000..b155ad31e --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/cilium-policy.yaml @@ -0,0 +1,9 @@ +apiVersion: "cilium.io/v2alpha1" +kind: CiliumL2AnnouncementPolicy +metadata: + name: basic-policy +spec: + interfaces: + - eth1 + externalIPs: true + loadBalancerIPs: true diff --git a/cicd/k3s-rabbitmq-incluster/manifests/iperf-service-loxilb.yml b/cicd/k3s-rabbitmq-incluster/manifests/iperf-service-loxilb.yml new file mode 100644 index 000000000..1d23f273c --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/iperf-service-loxilb.yml @@ -0,0 +1,32 @@ +apiVersion: v1 +kind: Service +metadata: + name: iperf-service + annotations: + loxilb.io/lbmode: "onearm" +spec: + externalTrafficPolicy: Local + loadBalancerClass: loxilb.io/loxilb + selector: + what: perf-test + ports: + - port: 55001 + targetPort: 5001 + type: LoadBalancer +--- +apiVersion: v1 +kind: Pod +metadata: + name: iperf1 + labels: + what: perf-test +spec: + containers: + - name: iperf + image: eyes852/ubuntu-iperf-test:0.5 + command: + - iperf + - "-s" + ports: + - containerPort: 5001 + diff --git a/cicd/k3s-rabbitmq-incluster/manifests/iperf-service-metallb.yml b/cicd/k3s-rabbitmq-incluster/manifests/iperf-service-metallb.yml new file mode 100644 index 000000000..066c796e2 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/iperf-service-metallb.yml @@ -0,0 +1,29 @@ +apiVersion: v1 +kind: Service +metadata: + name: iperf-service +spec: + externalTrafficPolicy: Local + selector: + what: perf-test + ports: + - port: 55001 + targetPort: 5001 + type: LoadBalancer +--- +apiVersion: v1 +kind: Pod +metadata: + name: iperf1 + labels: + what: perf-test +spec: + containers: + - name: iperf + image: eyes852/ubuntu-iperf-test:0.5 + command: + - iperf + - "-s" + ports: + - containerPort: 5001 + diff --git a/cicd/k3s-rabbitmq-incluster/manifests/kube-loxilb.yml b/cicd/k3s-rabbitmq-incluster/manifests/kube-loxilb.yml new file mode 100644 index 000000000..9357b17b0 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/kube-loxilb.yml @@ -0,0 +1,130 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-loxilb + namespace: kube-system +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kube-loxilb +rules: + - apiGroups: + - "" + resources: + - nodes + verbs: + - get + - watch + - list + - patch + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - watch + - list + - patch + - apiGroups: + - "" + resources: + - endpoints + - services + - services/status + verbs: + - get + - watch + - list + - patch + - update + - apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - watch + - list + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kube-loxilb +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kube-loxilb +subjects: + - kind: ServiceAccount + name: kube-loxilb + namespace: kube-system +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kube-loxilb + namespace: kube-system + labels: + app: loxilb +spec: + replicas: 1 + selector: + matchLabels: + app: loxilb + template: + metadata: + labels: + app: loxilb + spec: + hostNetwork: true + tolerations: + - effect: NoSchedule + operator: Exists + # Mark the pod as a critical add-on for rescheduling. + - key: CriticalAddonsOnly + operator: Exists + - effect: NoExecute + operator: Exists + priorityClassName: system-node-critical + serviceAccountName: kube-loxilb + terminationGracePeriodSeconds: 0 + containers: + - name: kube-loxilb + image: ghcr.io/loxilb-io/kube-loxilb:latest + imagePullPolicy: Always + command: + - /bin/kube-loxilb + args: + #- --loxiURL=http://192.168.80.9:11111 + - --externalCIDR=192.168.80.20/32 + - --setRoles=0.0.0.0 + #- --monitor + #- --setBGP + #- --setLBMode=1 + #- --config=/opt/loxilb/agent/kube-loxilb.conf + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + capabilities: + add: ["NET_ADMIN", "NET_RAW"] diff --git a/cicd/k3s-rabbitmq-incluster/manifests/loxilb.yml b/cicd/k3s-rabbitmq-incluster/manifests/loxilb.yml new file mode 100644 index 000000000..cd783e487 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/loxilb.yml @@ -0,0 +1,67 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: loxilb-lb + namespace: kube-system + labels: + app: loxilb-app +spec: + selector: + matchLabels: + app: loxilb-app + template: + metadata: + labels: + app: loxilb-app + spec: + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + tolerations: + - key: "node-role.kubernetes.io/master" + operator: Exists + - key: "node-role.kubernetes.io/control-plane" + operator: Exists + priorityClassName: system-node-critical + serviceAccountName: kube-loxilb + containers: + - name: loxilb-lb + image: "ghcr.io/loxilb-io/loxilb:latest" + imagePullPolicy: Always + command: [ "/root/loxilb-io/loxilb/loxilb", "--egr-hooks", "--blacklist=cni.|veth.|flannel.|cali.|tunl.|vxlan[.]calico", "--ipvs-compat", "--k8s-api=cluster" ] + ports: + - containerPort: 11111 + - containerPort: 179 + - containerPort: 50051 + securityContext: + privileged: true + capabilities: + add: + - SYS_ADMIN + env: + - name: MY_NODE_IP + valueFrom: + fieldRef: + fieldPath: status.hostIP +--- +apiVersion: v1 +kind: Service +metadata: + name: loxilb-lb-service + namespace: kube-system +spec: + clusterIP: None + selector: + app: loxilb-app + ports: + - name: loxilb-app + port: 11111 + targetPort: 11111 + protocol: TCP + - name: loxilb-app-bgp + port: 179 + targetPort: 179 + protocol: TCP + - name: loxilb-app-gobgp + port: 50051 + targetPort: 50051 + protocol: TCP diff --git a/cicd/k3s-rabbitmq-incluster/manifests/metallb-addr-pool.yml b/cicd/k3s-rabbitmq-incluster/manifests/metallb-addr-pool.yml new file mode 100644 index 000000000..ea7d2ba4f --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/metallb-addr-pool.yml @@ -0,0 +1,8 @@ +apiVersion: metallb.io/v1beta1 +kind: IPAddressPool +metadata: + name: cheap + namespace: metallb-system +spec: + addresses: + - 192.168.80.20/32 diff --git a/cicd/k3s-rabbitmq-incluster/manifests/metallb-native.yaml b/cicd/k3s-rabbitmq-incluster/manifests/metallb-native.yaml new file mode 100644 index 000000000..f8a80308f --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/manifests/metallb-native.yaml @@ -0,0 +1,2042 @@ +apiVersion: v1 +kind: Namespace +metadata: + labels: + pod-security.kubernetes.io/audit: privileged + pod-security.kubernetes.io/enforce: privileged + pod-security.kubernetes.io/warn: privileged + name: metallb-system +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.1 + creationTimestamp: null + name: addresspools.metallb.io +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGWlRDQ0EwMmdBd0lCQWdJVU5GRW1XcTM3MVpKdGkrMmlSQzk1WmpBV1MxZ3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3UWpFTE1Ba0dBMVVFQmhNQ1dGZ3hGVEFUQmdOVkJBY01ERVJsWm1GMWJIUWdRMmwwZVRFY01Cb0dBMVVFDQpDZ3dUUkdWbVlYVnNkQ0JEYjIxd1lXNTVJRXgwWkRBZUZ3MHlNakEzTVRrd09UTXlNek5hRncweU1qQTRNVGd3DQpPVE15TXpOYU1FSXhDekFKQmdOVkJBWVRBbGhZTVJVd0V3WURWUVFIREF4RVpXWmhkV3gwSUVOcGRIa3hIREFhDQpCZ05WQkFvTUUwUmxabUYxYkhRZ1EyOXRjR0Z1ZVNCTWRHUXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDDQpEd0F3Z2dJS0FvSUNBUUNxVFpxMWZRcC9vYkdlenhES0o3OVB3Ny94azJwellualNzMlkzb1ZYSm5sRmM4YjVlDQpma2ZZQnY2bndscW1keW5PL2phWFBaQmRQSS82aFdOUDBkdVhadEtWU0NCUUpyZzEyOGNXb3F0MGNTN3pLb1VpDQpvcU1tQ0QvRXVBeFFNZjhRZDF2c1gvVllkZ0poVTZBRXJLZEpIaXpFOUJtUkNkTDBGMW1OVW55Rk82UnRtWFZUDQpidkxsTDVYeTc2R0FaQVBLOFB4aVlDa0NtbDdxN0VnTWNiOXlLWldCYmlxQ3VkTXE5TGJLNmdKNzF6YkZnSXV4DQo1L1pXK2JraTB2RlplWk9ZODUxb1psckFUNzJvMDI4NHNTWW9uN0pHZVZkY3NoUnh5R1VpSFpSTzdkaXZVTDVTDQpmM2JmSDFYbWY1ZDQzT0NWTWRuUUV2NWVaOG8zeWVLa3ZrbkZQUGVJMU9BbjdGbDlFRVNNR2dhOGFaSG1URSttDQpsLzlMSmdDYjBnQmtPT0M0WnV4bWh2aERKV1EzWnJCS3pMQlNUZXN0NWlLNVlwcXRWVVk2THRyRW9FelVTK1lsDQpwWndXY2VQWHlHeHM5ZURsR3lNVmQraW15Y3NTU1UvVno2Mmx6MnZCS21NTXBkYldDQWhud0RsRTVqU2dyMjRRDQp0eGNXLys2N3d5KzhuQlI3UXdqVTFITndVRjBzeERWdEwrZ1NHVERnSEVZSlhZelYvT05zMy94TkpoVFNPSkxNDQpoeXNVdyttaGdackdhbUdXcHVIVU1DUitvTWJzMTc1UkcrQjJnUFFHVytPTjJnUTRyOXN2b0ZBNHBBQm8xd1dLDQpRYjRhY3pmeVVscElBOVFoSmFsZEY3S3dPSHVlV3gwRUNrNXg0T2tvVDBvWVp0dzFiR0JjRGtaSmF3SURBUUFCDQpvMU13VVRBZEJnTlZIUTRFRmdRVW90UlNIUm9IWTEyRFZ4R0NCdEhpb1g2ZmVFQXdId1lEVlIwakJCZ3dGb0FVDQpvdFJTSFJvSFkxMkRWeEdDQnRIaW9YNmZlRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCDQpBUXNGQUFPQ0FnRUFSbkpsWWRjMTFHd0VxWnh6RDF2R3BDR2pDN2VWTlQ3aVY1d3IybXlybHdPYi9aUWFEa0xYDQpvVStaOVVXT1VlSXJTdzUydDdmQUpvVVAwSm5iYkMveVIrU1lqUGhvUXNiVHduOTc2ZldBWTduM3FMOXhCd1Y0DQphek41OXNjeUp0dlhMeUtOL2N5ak1ReDRLajBIMFg0bWJ6bzVZNUtzWWtYVU0vOEFPdWZMcEd0S1NGVGgrSEFDDQpab1Q5YnZHS25adnNHd0tYZFF0Wnh0akhaUjVqK3U3ZGtQOTJBT051RFNabS8rWVV4b2tBK09JbzdSR3BwSHNXDQo1ZTdNY0FTVXRtb1FORXd6dVFoVkJaRWQ1OGtKYjUrV0VWbGNzanlXNnRTbzErZ25tTWNqR1BsMWgxR2hVbjV4DQpFY0lWRnBIWXM5YWo1NmpBSjk1MVQvZjhMaWxmTlVnanBLQ0c1bnl0SUt3emxhOHNtdGlPdm1UNEpYbXBwSkI2DQo4bmdHRVluVjUrUTYwWFJ2OEhSSGp1VG9CRHVhaERrVDA2R1JGODU1d09FR2V4bkZpMXZYWUxLVllWb1V2MXRKDQo4dVdUR1pwNllDSVJldlBqbzg5ZytWTlJSaVFYUThJd0dybXE5c0RoVTlqTjA0SjdVL1RvRDFpNHE3VnlsRUc5DQorV1VGNkNLaEdBeTJIaEhwVncyTGFoOS9lUzdZMUZ1YURrWmhPZG1laG1BOCtqdHNZamJadnR5Mm1SWlF0UUZzDQpUU1VUUjREbUR2bVVPRVRmeStpRHdzK2RkWXVNTnJGeVVYV2dkMnpBQU4ydVl1UHFGY2pRcFNPODFzVTJTU3R3DQoxVzAyeUtYOGJEYmZFdjBzbUh3UzliQnFlSGo5NEM1Mjg0YXpsdTBmaUdpTm1OUEM4ckJLRmhBPQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ== + service: + name: webhook-service + namespace: metallb-system + path: /convert + conversionReviewVersions: + - v1alpha1 + - v1beta1 + group: metallb.io + names: + kind: AddressPool + listKind: AddressPoolList + plural: addresspools + singular: addresspool + scope: Namespaced + versions: + - deprecated: true + deprecationWarning: metallb.io v1alpha1 AddressPool is deprecated + name: v1alpha1 + schema: + openAPIV3Schema: + description: AddressPool is the Schema for the addresspools API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AddressPoolSpec defines the desired state of AddressPool. + properties: + addresses: + description: A list of IP address ranges over which MetalLB has authority. + You can list multiple ranges in a single pool, they will all share + the same settings. Each range can be either a CIDR prefix, or an + explicit start-end range of IPs. + items: + type: string + type: array + autoAssign: + default: true + description: AutoAssign flag used to prevent MetallB from automatic + allocation for a pool. + type: boolean + bgpAdvertisements: + description: When an IP is allocated from this pool, how should it + be translated into BGP announcements? + items: + properties: + aggregationLength: + default: 32 + description: The aggregation-length advertisement option lets + you “roll up” the /32s into a larger prefix. + format: int32 + minimum: 1 + type: integer + aggregationLengthV6: + default: 128 + description: Optional, defaults to 128 (i.e. no aggregation) + if not specified. + format: int32 + type: integer + communities: + description: BGP communities + items: + type: string + type: array + localPref: + description: BGP LOCAL_PREF attribute which is used by BGP best + path algorithm, Path with higher localpref is preferred over + one with lower localpref. + format: int32 + type: integer + type: object + type: array + protocol: + description: Protocol can be used to select how the announcement is + done. + enum: + - layer2 + - bgp + type: string + required: + - addresses + - protocol + type: object + status: + description: AddressPoolStatus defines the observed state of AddressPool. + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - deprecated: true + deprecationWarning: metallb.io v1beta1 AddressPool is deprecated, consider using + IPAddressPool + name: v1beta1 + schema: + openAPIV3Schema: + description: AddressPool represents a pool of IP addresses that can be allocated + to LoadBalancer services. AddressPool is deprecated and being replaced by + IPAddressPool. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AddressPoolSpec defines the desired state of AddressPool. + properties: + addresses: + description: A list of IP address ranges over which MetalLB has authority. + You can list multiple ranges in a single pool, they will all share + the same settings. Each range can be either a CIDR prefix, or an + explicit start-end range of IPs. + items: + type: string + type: array + autoAssign: + default: true + description: AutoAssign flag used to prevent MetallB from automatic + allocation for a pool. + type: boolean + bgpAdvertisements: + description: Drives how an IP allocated from this pool should translated + into BGP announcements. + items: + properties: + aggregationLength: + default: 32 + description: The aggregation-length advertisement option lets + you “roll up” the /32s into a larger prefix. + format: int32 + minimum: 1 + type: integer + aggregationLengthV6: + default: 128 + description: Optional, defaults to 128 (i.e. no aggregation) + if not specified. + format: int32 + type: integer + communities: + description: BGP communities to be associated with the given + advertisement. + items: + type: string + type: array + localPref: + description: BGP LOCAL_PREF attribute which is used by BGP best + path algorithm, Path with higher localpref is preferred over + one with lower localpref. + format: int32 + type: integer + type: object + type: array + protocol: + description: Protocol can be used to select how the announcement is + done. + enum: + - layer2 + - bgp + type: string + required: + - addresses + - protocol + type: object + status: + description: AddressPoolStatus defines the observed state of AddressPool. + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.1 + creationTimestamp: null + name: bfdprofiles.metallb.io +spec: + group: metallb.io + names: + kind: BFDProfile + listKind: BFDProfileList + plural: bfdprofiles + singular: bfdprofile + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.passiveMode + name: Passive Mode + type: boolean + - jsonPath: .spec.transmitInterval + name: Transmit Interval + type: integer + - jsonPath: .spec.receiveInterval + name: Receive Interval + type: integer + - jsonPath: .spec.detectMultiplier + name: Multiplier + type: integer + name: v1beta1 + schema: + openAPIV3Schema: + description: BFDProfile represents the settings of the bfd session that can + be optionally associated with a BGP session. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: BFDProfileSpec defines the desired state of BFDProfile. + properties: + detectMultiplier: + description: Configures the detection multiplier to determine packet + loss. The remote transmission interval will be multiplied by this + value to determine the connection loss detection timer. + format: int32 + maximum: 255 + minimum: 2 + type: integer + echoInterval: + description: Configures the minimal echo receive transmission interval + that this system is capable of handling in milliseconds. Defaults + to 50ms + format: int32 + maximum: 60000 + minimum: 10 + type: integer + echoMode: + description: Enables or disables the echo transmission mode. This + mode is disabled by default, and not supported on multi hops setups. + type: boolean + minimumTtl: + description: 'For multi hop sessions only: configure the minimum expected + TTL for an incoming BFD control packet.' + format: int32 + maximum: 254 + minimum: 1 + type: integer + passiveMode: + description: 'Mark session as passive: a passive session will not + attempt to start the connection and will wait for control packets + from peer before it begins replying.' + type: boolean + receiveInterval: + description: The minimum interval that this system is capable of receiving + control packets in milliseconds. Defaults to 300ms. + format: int32 + maximum: 60000 + minimum: 10 + type: integer + transmitInterval: + description: The minimum transmission interval (less jitter) that + this system wants to use to send BFD control packets in milliseconds. + Defaults to 300ms + format: int32 + maximum: 60000 + minimum: 10 + type: integer + type: object + status: + description: BFDProfileStatus defines the observed state of BFDProfile. + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.1 + creationTimestamp: null + name: bgpadvertisements.metallb.io +spec: + group: metallb.io + names: + kind: BGPAdvertisement + listKind: BGPAdvertisementList + plural: bgpadvertisements + singular: bgpadvertisement + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.ipAddressPools + name: IPAddressPools + type: string + - jsonPath: .spec.ipAddressPoolSelectors + name: IPAddressPool Selectors + type: string + - jsonPath: .spec.peers + name: Peers + type: string + - jsonPath: .spec.nodeSelectors + name: Node Selectors + priority: 10 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: BGPAdvertisement allows to advertise the IPs coming from the + selected IPAddressPools via BGP, setting the parameters of the BGP Advertisement. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: BGPAdvertisementSpec defines the desired state of BGPAdvertisement. + properties: + aggregationLength: + default: 32 + description: The aggregation-length advertisement option lets you + “roll up” the /32s into a larger prefix. Defaults to 32. Works for + IPv4 addresses. + format: int32 + minimum: 1 + type: integer + aggregationLengthV6: + default: 128 + description: The aggregation-length advertisement option lets you + “roll up” the /128s into a larger prefix. Defaults to 128. Works + for IPv6 addresses. + format: int32 + type: integer + communities: + description: The BGP communities to be associated with the announcement. + Each item can be a standard community of the form 1234:1234, a large + community of the form large:1234:1234:1234 or the name of an alias + defined in the Community CRD. + items: + type: string + type: array + ipAddressPoolSelectors: + description: A selector for the IPAddressPools which would get advertised + via this advertisement. If no IPAddressPool is selected by this + or by the list, the advertisement is applied to all the IPAddressPools. + items: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: array + ipAddressPools: + description: The list of IPAddressPools to advertise via this advertisement, + selected by name. + items: + type: string + type: array + localPref: + description: The BGP LOCAL_PREF attribute which is used by BGP best + path algorithm, Path with higher localpref is preferred over one + with lower localpref. + format: int32 + type: integer + nodeSelectors: + description: NodeSelectors allows to limit the nodes to announce as + next hops for the LoadBalancer IP. When empty, all the nodes having are + announced as next hops. + items: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: array + peers: + description: Peers limits the bgppeer to advertise the ips of the + selected pools to. When empty, the loadbalancer IP is announced + to all the BGPPeers configured. + items: + type: string + type: array + type: object + status: + description: BGPAdvertisementStatus defines the observed state of BGPAdvertisement. + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.1 + creationTimestamp: null + name: bgppeers.metallb.io +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGWlRDQ0EwMmdBd0lCQWdJVU5GRW1XcTM3MVpKdGkrMmlSQzk1WmpBV1MxZ3dEUVlKS29aSWh2Y05BUUVMDQpCUUF3UWpFTE1Ba0dBMVVFQmhNQ1dGZ3hGVEFUQmdOVkJBY01ERVJsWm1GMWJIUWdRMmwwZVRFY01Cb0dBMVVFDQpDZ3dUUkdWbVlYVnNkQ0JEYjIxd1lXNTVJRXgwWkRBZUZ3MHlNakEzTVRrd09UTXlNek5hRncweU1qQTRNVGd3DQpPVE15TXpOYU1FSXhDekFKQmdOVkJBWVRBbGhZTVJVd0V3WURWUVFIREF4RVpXWmhkV3gwSUVOcGRIa3hIREFhDQpCZ05WQkFvTUUwUmxabUYxYkhRZ1EyOXRjR0Z1ZVNCTWRHUXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDDQpEd0F3Z2dJS0FvSUNBUUNxVFpxMWZRcC9vYkdlenhES0o3OVB3Ny94azJwellualNzMlkzb1ZYSm5sRmM4YjVlDQpma2ZZQnY2bndscW1keW5PL2phWFBaQmRQSS82aFdOUDBkdVhadEtWU0NCUUpyZzEyOGNXb3F0MGNTN3pLb1VpDQpvcU1tQ0QvRXVBeFFNZjhRZDF2c1gvVllkZ0poVTZBRXJLZEpIaXpFOUJtUkNkTDBGMW1OVW55Rk82UnRtWFZUDQpidkxsTDVYeTc2R0FaQVBLOFB4aVlDa0NtbDdxN0VnTWNiOXlLWldCYmlxQ3VkTXE5TGJLNmdKNzF6YkZnSXV4DQo1L1pXK2JraTB2RlplWk9ZODUxb1psckFUNzJvMDI4NHNTWW9uN0pHZVZkY3NoUnh5R1VpSFpSTzdkaXZVTDVTDQpmM2JmSDFYbWY1ZDQzT0NWTWRuUUV2NWVaOG8zeWVLa3ZrbkZQUGVJMU9BbjdGbDlFRVNNR2dhOGFaSG1URSttDQpsLzlMSmdDYjBnQmtPT0M0WnV4bWh2aERKV1EzWnJCS3pMQlNUZXN0NWlLNVlwcXRWVVk2THRyRW9FelVTK1lsDQpwWndXY2VQWHlHeHM5ZURsR3lNVmQraW15Y3NTU1UvVno2Mmx6MnZCS21NTXBkYldDQWhud0RsRTVqU2dyMjRRDQp0eGNXLys2N3d5KzhuQlI3UXdqVTFITndVRjBzeERWdEwrZ1NHVERnSEVZSlhZelYvT05zMy94TkpoVFNPSkxNDQpoeXNVdyttaGdackdhbUdXcHVIVU1DUitvTWJzMTc1UkcrQjJnUFFHVytPTjJnUTRyOXN2b0ZBNHBBQm8xd1dLDQpRYjRhY3pmeVVscElBOVFoSmFsZEY3S3dPSHVlV3gwRUNrNXg0T2tvVDBvWVp0dzFiR0JjRGtaSmF3SURBUUFCDQpvMU13VVRBZEJnTlZIUTRFRmdRVW90UlNIUm9IWTEyRFZ4R0NCdEhpb1g2ZmVFQXdId1lEVlIwakJCZ3dGb0FVDQpvdFJTSFJvSFkxMkRWeEdDQnRIaW9YNmZlRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCDQpBUXNGQUFPQ0FnRUFSbkpsWWRjMTFHd0VxWnh6RDF2R3BDR2pDN2VWTlQ3aVY1d3IybXlybHdPYi9aUWFEa0xYDQpvVStaOVVXT1VlSXJTdzUydDdmQUpvVVAwSm5iYkMveVIrU1lqUGhvUXNiVHduOTc2ZldBWTduM3FMOXhCd1Y0DQphek41OXNjeUp0dlhMeUtOL2N5ak1ReDRLajBIMFg0bWJ6bzVZNUtzWWtYVU0vOEFPdWZMcEd0S1NGVGgrSEFDDQpab1Q5YnZHS25adnNHd0tYZFF0Wnh0akhaUjVqK3U3ZGtQOTJBT051RFNabS8rWVV4b2tBK09JbzdSR3BwSHNXDQo1ZTdNY0FTVXRtb1FORXd6dVFoVkJaRWQ1OGtKYjUrV0VWbGNzanlXNnRTbzErZ25tTWNqR1BsMWgxR2hVbjV4DQpFY0lWRnBIWXM5YWo1NmpBSjk1MVQvZjhMaWxmTlVnanBLQ0c1bnl0SUt3emxhOHNtdGlPdm1UNEpYbXBwSkI2DQo4bmdHRVluVjUrUTYwWFJ2OEhSSGp1VG9CRHVhaERrVDA2R1JGODU1d09FR2V4bkZpMXZYWUxLVllWb1V2MXRKDQo4dVdUR1pwNllDSVJldlBqbzg5ZytWTlJSaVFYUThJd0dybXE5c0RoVTlqTjA0SjdVL1RvRDFpNHE3VnlsRUc5DQorV1VGNkNLaEdBeTJIaEhwVncyTGFoOS9lUzdZMUZ1YURrWmhPZG1laG1BOCtqdHNZamJadnR5Mm1SWlF0UUZzDQpUU1VUUjREbUR2bVVPRVRmeStpRHdzK2RkWXVNTnJGeVVYV2dkMnpBQU4ydVl1UHFGY2pRcFNPODFzVTJTU3R3DQoxVzAyeUtYOGJEYmZFdjBzbUh3UzliQnFlSGo5NEM1Mjg0YXpsdTBmaUdpTm1OUEM4ckJLRmhBPQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ== + service: + name: webhook-service + namespace: metallb-system + path: /convert + conversionReviewVersions: + - v1beta1 + - v1beta2 + group: metallb.io + names: + kind: BGPPeer + listKind: BGPPeerList + plural: bgppeers + singular: bgppeer + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.peerAddress + name: Address + type: string + - jsonPath: .spec.peerASN + name: ASN + type: string + - jsonPath: .spec.bfdProfile + name: BFD Profile + type: string + - jsonPath: .spec.ebgpMultiHop + name: Multi Hops + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: BGPPeer is the Schema for the peers API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: BGPPeerSpec defines the desired state of Peer. + properties: + bfdProfile: + type: string + ebgpMultiHop: + description: EBGP peer is multi-hops away + type: boolean + holdTime: + description: Requested BGP hold time, per RFC4271. + type: string + keepaliveTime: + description: Requested BGP keepalive time, per RFC4271. + type: string + myASN: + description: AS number to use for the local end of the session. + format: int32 + maximum: 4294967295 + minimum: 0 + type: integer + nodeSelectors: + description: Only connect to this peer on nodes that match one of + these selectors. + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + minItems: 1 + type: array + required: + - key + - operator + - values + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + type: array + password: + description: Authentication password for routers enforcing TCP MD5 + authenticated sessions + type: string + peerASN: + description: AS number to expect from the remote end of the session. + format: int32 + maximum: 4294967295 + minimum: 0 + type: integer + peerAddress: + description: Address to dial when establishing the session. + type: string + peerPort: + description: Port to dial when establishing the session. + maximum: 16384 + minimum: 0 + type: integer + routerID: + description: BGP router ID to advertise to the peer + type: string + sourceAddress: + description: Source address to use when establishing the session. + type: string + required: + - myASN + - peerASN + - peerAddress + type: object + status: + description: BGPPeerStatus defines the observed state of Peer. + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .spec.peerAddress + name: Address + type: string + - jsonPath: .spec.peerASN + name: ASN + type: string + - jsonPath: .spec.bfdProfile + name: BFD Profile + type: string + - jsonPath: .spec.ebgpMultiHop + name: Multi Hops + type: string + name: v1beta2 + schema: + openAPIV3Schema: + description: BGPPeer is the Schema for the peers API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: BGPPeerSpec defines the desired state of Peer. + properties: + bfdProfile: + description: The name of the BFD Profile to be used for the BFD session + associated to the BGP session. If not set, the BFD session won't + be set up. + type: string + ebgpMultiHop: + description: To set if the BGPPeer is multi-hops away. Needed for + FRR mode only. + type: boolean + holdTime: + description: Requested BGP hold time, per RFC4271. + type: string + keepaliveTime: + description: Requested BGP keepalive time, per RFC4271. + type: string + myASN: + description: AS number to use for the local end of the session. + format: int32 + maximum: 4294967295 + minimum: 0 + type: integer + nodeSelectors: + description: Only connect to this peer on nodes that match one of + these selectors. + items: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: array + password: + description: Authentication password for routers enforcing TCP MD5 + authenticated sessions + type: string + passwordSecret: + description: passwordSecret is name of the authentication secret for + BGP Peer. the secret must be of type "kubernetes.io/basic-auth", + and created in the same namespace as the MetalLB deployment. The + password is stored in the secret as the key "password". + properties: + name: + description: name is unique within a namespace to reference a + secret resource. + type: string + namespace: + description: namespace defines the space within which the secret + name must be unique. + type: string + type: object + x-kubernetes-map-type: atomic + peerASN: + description: AS number to expect from the remote end of the session. + format: int32 + maximum: 4294967295 + minimum: 0 + type: integer + peerAddress: + description: Address to dial when establishing the session. + type: string + peerPort: + default: 179 + description: Port to dial when establishing the session. + maximum: 16384 + minimum: 0 + type: integer + routerID: + description: BGP router ID to advertise to the peer + type: string + sourceAddress: + description: Source address to use when establishing the session. + type: string + vrf: + description: To set if we want to peer with the BGPPeer using an interface + belonging to a host vrf + type: string + required: + - myASN + - peerASN + - peerAddress + type: object + status: + description: BGPPeerStatus defines the observed state of Peer. + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.1 + creationTimestamp: null + name: communities.metallb.io +spec: + group: metallb.io + names: + kind: Community + listKind: CommunityList + plural: communities + singular: community + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: Community is a collection of aliases for communities. Users can + define named aliases to be used in the BGPPeer CRD. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: CommunitySpec defines the desired state of Community. + properties: + communities: + items: + properties: + name: + description: The name of the alias for the community. + type: string + value: + description: The BGP community value corresponding to the given + name. Can be a standard community of the form 1234:1234 or + a large community of the form large:1234:1234:1234. + type: string + type: object + type: array + type: object + status: + description: CommunityStatus defines the observed state of Community. + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.1 + creationTimestamp: null + name: ipaddresspools.metallb.io +spec: + group: metallb.io + names: + kind: IPAddressPool + listKind: IPAddressPoolList + plural: ipaddresspools + singular: ipaddresspool + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.autoAssign + name: Auto Assign + type: boolean + - jsonPath: .spec.avoidBuggyIPs + name: Avoid Buggy IPs + type: boolean + - jsonPath: .spec.addresses + name: Addresses + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: IPAddressPool represents a pool of IP addresses that can be allocated + to LoadBalancer services. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: IPAddressPoolSpec defines the desired state of IPAddressPool. + properties: + addresses: + description: A list of IP address ranges over which MetalLB has authority. + You can list multiple ranges in a single pool, they will all share + the same settings. Each range can be either a CIDR prefix, or an + explicit start-end range of IPs. + items: + type: string + type: array + autoAssign: + default: true + description: AutoAssign flag used to prevent MetallB from automatic + allocation for a pool. + type: boolean + avoidBuggyIPs: + default: false + description: AvoidBuggyIPs prevents addresses ending with .0 and .255 + to be used by a pool. + type: boolean + serviceAllocation: + description: AllocateTo makes ip pool allocation to specific namespace + and/or service. The controller will use the pool with lowest value + of priority in case of multiple matches. A pool with no priority + set will be used only if the pools with priority can't be used. + If multiple matching IPAddressPools are available it will check + for the availability of IPs sorting the matching IPAddressPools + by priority, starting from the highest to the lowest. If multiple + IPAddressPools have the same priority, choice will be random. + properties: + namespaceSelectors: + description: NamespaceSelectors list of label selectors to select + namespace(s) for ip pool, an alternative to using namespace + list. + items: + description: A label selector is a label query over a set of + resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. A + null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: array + namespaces: + description: Namespaces list of namespace(s) on which ip pool + can be attached. + items: + type: string + type: array + priority: + description: Priority priority given for ip pool while ip allocation + on a service. + type: integer + serviceSelectors: + description: ServiceSelectors list of label selector to select + service(s) for which ip pool can be used for ip allocation. + items: + description: A label selector is a label query over a set of + resources. The result of matchLabels and matchExpressions + are ANDed. An empty label selector matches all objects. A + null label selector matches no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. + If the operator is In or NotIn, the values array + must be non-empty. If the operator is Exists or + DoesNotExist, the values array must be empty. This + array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. + A single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is + "key", the operator is "In", and the values array contains + only "value". The requirements are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: array + type: object + required: + - addresses + type: object + status: + description: IPAddressPoolStatus defines the observed state of IPAddressPool. + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.11.1 + creationTimestamp: null + name: l2advertisements.metallb.io +spec: + group: metallb.io + names: + kind: L2Advertisement + listKind: L2AdvertisementList + plural: l2advertisements + singular: l2advertisement + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.ipAddressPools + name: IPAddressPools + type: string + - jsonPath: .spec.ipAddressPoolSelectors + name: IPAddressPool Selectors + type: string + - jsonPath: .spec.interfaces + name: Interfaces + type: string + - jsonPath: .spec.nodeSelectors + name: Node Selectors + priority: 10 + type: string + name: v1beta1 + schema: + openAPIV3Schema: + description: L2Advertisement allows to advertise the LoadBalancer IPs provided + by the selected pools via L2. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: L2AdvertisementSpec defines the desired state of L2Advertisement. + properties: + interfaces: + description: A list of interfaces to announce from. The LB IP will + be announced only from these interfaces. If the field is not set, + we advertise from all the interfaces on the host. + items: + type: string + type: array + ipAddressPoolSelectors: + description: A selector for the IPAddressPools which would get advertised + via this advertisement. If no IPAddressPool is selected by this + or by the list, the advertisement is applied to all the IPAddressPools. + items: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: array + ipAddressPools: + description: The list of IPAddressPools to advertise via this advertisement, + selected by name. + items: + type: string + type: array + nodeSelectors: + description: NodeSelectors allows to limit the nodes to announce as + next hops for the LoadBalancer IP. When empty, all the nodes having are + announced as next hops. + items: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. + The requirements are ANDed. + items: + description: A label selector requirement is a selector that + contains values, a key, and an operator that relates the + key and values. + properties: + key: + description: key is the label key that the selector applies + to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of string values. If the + operator is In or NotIn, the values array must be non-empty. + If the operator is Exists or DoesNotExist, the values + array must be empty. This array is replaced during a + strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator + is "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + x-kubernetes-map-type: atomic + type: array + type: object + status: + description: L2AdvertisementStatus defines the observed state of L2Advertisement. + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app: metallb + name: controller + namespace: metallb-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app: metallb + name: speaker + namespace: metallb-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app: metallb + name: controller + namespace: metallb-system +rules: +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - "" + resourceNames: + - memberlist + resources: + - secrets + verbs: + - list +- apiGroups: + - apps + resourceNames: + - controller + resources: + - deployments + verbs: + - get +- apiGroups: + - metallb.io + resources: + - bgppeers + verbs: + - get + - list +- apiGroups: + - metallb.io + resources: + - addresspools + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - bfdprofiles + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - ipaddresspools + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - bgpadvertisements + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - l2advertisements + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - communities + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app: metallb + name: pod-lister + namespace: metallb-system +rules: +- apiGroups: + - "" + resources: + - pods + verbs: + - list +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - addresspools + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - bfdprofiles + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - bgppeers + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - l2advertisements + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - bgpadvertisements + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - ipaddresspools + verbs: + - get + - list + - watch +- apiGroups: + - metallb.io + resources: + - communities + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: metallb + name: metallb-system:controller +rules: +- apiGroups: + - "" + resources: + - services + - namespaces + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - nodes + verbs: + - list +- apiGroups: + - "" + resources: + - services/status + verbs: + - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - policy + resourceNames: + - controller + resources: + - podsecuritypolicies + verbs: + - use +- apiGroups: + - admissionregistration.k8s.io + resourceNames: + - metallb-webhook-configuration + resources: + - validatingwebhookconfigurations + - mutatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - admissionregistration.k8s.io + resources: + - validatingwebhookconfigurations + - mutatingwebhookconfigurations + verbs: + - list + - watch +- apiGroups: + - apiextensions.k8s.io + resourceNames: + - addresspools.metallb.io + - bfdprofiles.metallb.io + - bgpadvertisements.metallb.io + - bgppeers.metallb.io + - ipaddresspools.metallb.io + - l2advertisements.metallb.io + - communities.metallb.io + resources: + - customresourcedefinitions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: metallb + name: metallb-system:speaker +rules: +- apiGroups: + - "" + resources: + - services + - endpoints + - nodes + - namespaces + verbs: + - get + - list + - watch +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - policy + resourceNames: + - speaker + resources: + - podsecuritypolicies + verbs: + - use +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app: metallb + name: controller + namespace: metallb-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: controller +subjects: +- kind: ServiceAccount + name: controller + namespace: metallb-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app: metallb + name: pod-lister + namespace: metallb-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: pod-lister +subjects: +- kind: ServiceAccount + name: speaker + namespace: metallb-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app: metallb + name: metallb-system:controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: metallb-system:controller +subjects: +- kind: ServiceAccount + name: controller + namespace: metallb-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app: metallb + name: metallb-system:speaker +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: metallb-system:speaker +subjects: +- kind: ServiceAccount + name: speaker + namespace: metallb-system +--- +apiVersion: v1 +data: + excludel2.yaml: | + announcedInterfacesToExclude: ["^docker.*", "^cbr.*", "^dummy.*", "^virbr.*", "^lxcbr.*", "^veth.*", "^lo$", "^cali.*", "^tunl.*", "^flannel.*", "^kube-ipvs.*", "^cni.*", "^nodelocaldns.*"] +kind: ConfigMap +metadata: + name: metallb-excludel2 + namespace: metallb-system +--- +apiVersion: v1 +kind: Secret +metadata: + name: webhook-server-cert + namespace: metallb-system +--- +apiVersion: v1 +kind: Service +metadata: + name: webhook-service + namespace: metallb-system +spec: + ports: + - port: 443 + targetPort: 9443 + selector: + component: controller +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: metallb + component: controller + name: controller + namespace: metallb-system +spec: + revisionHistoryLimit: 3 + selector: + matchLabels: + app: metallb + component: controller + template: + metadata: + annotations: + prometheus.io/port: "7472" + prometheus.io/scrape: "true" + labels: + app: metallb + component: controller + spec: + containers: + - args: + - --port=7472 + - --log-level=info + env: + - name: METALLB_ML_SECRET_NAME + value: memberlist + - name: METALLB_DEPLOYMENT + value: controller + image: quay.io/metallb/controller:v0.13.12 + livenessProbe: + failureThreshold: 3 + httpGet: + path: /metrics + port: monitoring + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + name: controller + ports: + - containerPort: 7472 + name: monitoring + - containerPort: 9443 + name: webhook-server + protocol: TCP + readinessProbe: + failureThreshold: 3 + httpGet: + path: /metrics + port: monitoring + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - all + readOnlyRootFilesystem: true + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + nodeSelector: + kubernetes.io/os: linux + securityContext: + fsGroup: 65534 + runAsNonRoot: true + runAsUser: 65534 + serviceAccountName: controller + terminationGracePeriodSeconds: 0 + volumes: + - name: cert + secret: + defaultMode: 420 + secretName: webhook-server-cert +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + labels: + app: metallb + component: speaker + name: speaker + namespace: metallb-system +spec: + selector: + matchLabels: + app: metallb + component: speaker + template: + metadata: + annotations: + prometheus.io/port: "7472" + prometheus.io/scrape: "true" + labels: + app: metallb + component: speaker + spec: + containers: + - args: + - --port=7472 + - --log-level=info + env: + - name: METALLB_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: METALLB_HOST + valueFrom: + fieldRef: + fieldPath: status.hostIP + - name: METALLB_ML_BIND_ADDR + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: METALLB_ML_LABELS + value: app=metallb,component=speaker + - name: METALLB_ML_SECRET_KEY_PATH + value: /etc/ml_secret_key + image: quay.io/metallb/speaker:v0.13.12 + livenessProbe: + failureThreshold: 3 + httpGet: + path: /metrics + port: monitoring + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + name: speaker + ports: + - containerPort: 7472 + name: monitoring + - containerPort: 7946 + name: memberlist-tcp + - containerPort: 7946 + name: memberlist-udp + protocol: UDP + readinessProbe: + failureThreshold: 3 + httpGet: + path: /metrics + port: monitoring + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + securityContext: + allowPrivilegeEscalation: false + capabilities: + add: + - NET_RAW + drop: + - ALL + readOnlyRootFilesystem: true + volumeMounts: + - mountPath: /etc/ml_secret_key + name: memberlist + readOnly: true + - mountPath: /etc/metallb + name: metallb-excludel2 + readOnly: true + hostNetwork: true + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: speaker + terminationGracePeriodSeconds: 2 + tolerations: + - effect: NoSchedule + key: node-role.kubernetes.io/master + operator: Exists + - effect: NoSchedule + key: node-role.kubernetes.io/control-plane + operator: Exists + volumes: + - name: memberlist + secret: + defaultMode: 420 + secretName: memberlist + - configMap: + defaultMode: 256 + name: metallb-excludel2 + name: metallb-excludel2 +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + creationTimestamp: null + name: metallb-webhook-configuration +webhooks: +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: metallb-system + path: /validate-metallb-io-v1beta2-bgppeer + failurePolicy: Fail + name: bgppeersvalidationwebhook.metallb.io + rules: + - apiGroups: + - metallb.io + apiVersions: + - v1beta2 + operations: + - CREATE + - UPDATE + resources: + - bgppeers + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: metallb-system + path: /validate-metallb-io-v1beta1-addresspool + failurePolicy: Fail + name: addresspoolvalidationwebhook.metallb.io + rules: + - apiGroups: + - metallb.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - addresspools + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: metallb-system + path: /validate-metallb-io-v1beta1-bfdprofile + failurePolicy: Fail + name: bfdprofilevalidationwebhook.metallb.io + rules: + - apiGroups: + - metallb.io + apiVersions: + - v1beta1 + operations: + - CREATE + - DELETE + resources: + - bfdprofiles + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: metallb-system + path: /validate-metallb-io-v1beta1-bgpadvertisement + failurePolicy: Fail + name: bgpadvertisementvalidationwebhook.metallb.io + rules: + - apiGroups: + - metallb.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - bgpadvertisements + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: metallb-system + path: /validate-metallb-io-v1beta1-community + failurePolicy: Fail + name: communityvalidationwebhook.metallb.io + rules: + - apiGroups: + - metallb.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - communities + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: metallb-system + path: /validate-metallb-io-v1beta1-ipaddresspool + failurePolicy: Fail + name: ipaddresspoolvalidationwebhook.metallb.io + rules: + - apiGroups: + - metallb.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - ipaddresspools + sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: metallb-system + path: /validate-metallb-io-v1beta1-l2advertisement + failurePolicy: Fail + name: l2advertisementvalidationwebhook.metallb.io + rules: + - apiGroups: + - metallb.io + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - l2advertisements + sideEffects: None diff --git a/cicd/k3s-rabbitmq-incluster/master.sh b/cicd/k3s-rabbitmq-incluster/master.sh new file mode 100644 index 000000000..7f6f91718 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/master.sh @@ -0,0 +1,14 @@ +export MASTER_IP=$(ip a |grep global | grep -v '10.0.2.15' | grep '192.168.80' | awk '{print $2}' | cut -f1 -d '/') + +curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable traefik --disable servicelb --disable-cloud-controller --kube-proxy-arg proxy-mode=ipvs --flannel-iface=eth1 \ +--disable-network-policy \ +--node-ip=${MASTER_IP} --node-external-ip=${MASTER_IP} \ +--bind-address=${MASTER_IP}" sh - + +echo $MASTER_IP > /vagrant/master-ip +sudo cp /var/lib/rancher/k3s/server/node-token /vagrant/node-token +sudo cp /etc/rancher/k3s/k3s.yaml /vagrant/k3s.yaml +sudo sed -i -e "s/127.0.0.1/${MASTER_IP}/g" /vagrant/k3s.yaml +#sudo kubectl apply -f "https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml" +#sudo kubectl apply -f /vagrant/rmq/rabbitmq.yaml +/vagrant/wait_ready.sh diff --git a/cicd/k3s-rabbitmq-incluster/master_with_cilium.sh b/cicd/k3s-rabbitmq-incluster/master_with_cilium.sh new file mode 100644 index 000000000..01ad60b71 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/master_with_cilium.sh @@ -0,0 +1,29 @@ +export MASTER_IP=$(ip a |grep global | grep -v '10.0.2.15' | grep '192.168.80' | awk '{print $2}' | cut -f1 -d '/') + +#curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable traefik --disable servicelb --disable-cloud-controller --kube-proxy-arg proxy-mode=ipvs --flannel-iface=eth1 \ + +curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable traefik --disable servicelb --disable-cloud-controller \ +--flannel-backend=none \ +--disable-network-policy \ +--node-ip=${MASTER_IP} --node-external-ip=${MASTER_IP} \ +--bind-address=${MASTER_IP}" sh - + +#Install Cilium +CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/master/stable.txt) +CLI_ARCH=amd64 +if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi +curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum} +sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum +sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin +rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum} +mkdir -p ~/.kube/ +sudo cat /etc/rancher/k3s/k3s.yaml > ~/.kube/config +cilium install + +echo $MASTER_IP > /vagrant/master-ip +sudo cp /var/lib/rancher/k3s/server/node-token /vagrant/node-token +sudo cp /etc/rancher/k3s/k3s.yaml /vagrant/k3s.yaml +sudo sed -i -e "s/127.0.0.1/${MASTER_IP}/g" /vagrant/k3s.yaml +#sudo kubectl apply -f "https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml" +#sudo kubectl apply -f /vagrant/rmq/rabbitmq.yaml +/vagrant/wait_ready.sh diff --git a/cicd/k3s-rabbitmq-incluster/prom_rbac.yaml b/cicd/k3s-rabbitmq-incluster/prom_rbac.yaml new file mode 100644 index 000000000..967e14368 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/prom_rbac.yaml @@ -0,0 +1,42 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: prometheus +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: prometheus +rules: +- apiGroups: [""] + resources: + - nodes + - nodes/metrics + - services + - endpoints + - pods + verbs: ["get", "list", "watch"] +- apiGroups: [""] + resources: + - configmaps + verbs: ["get"] +- apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: ["get", "list", "watch"] +- nonResourceURLs: ["/metrics"] + verbs: ["get"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: prometheus +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: prometheus +subjects: +- kind: ServiceAccount + name: prometheus + namespace: default diff --git a/cicd/k3s-rabbitmq-incluster/prom_svc.yaml b/cicd/k3s-rabbitmq-incluster/prom_svc.yaml new file mode 100644 index 000000000..c6eebe80d --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/prom_svc.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: prometheus + labels: + app: prometheus +spec: + #externalTrafficPolicy: Local + #loadBalancerClass: loxilb.io/loxilb + #type: LoadBalancer + ports: + - name: web + port: 9090 + targetPort: web + selector: + app.kubernetes.io/name: prometheus + sessionAffinity: ClientIP diff --git a/cicd/k3s-rabbitmq-incluster/prometheus.yaml b/cicd/k3s-rabbitmq-incluster/prometheus.yaml new file mode 100644 index 000000000..c8a2c55b1 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/prometheus.yaml @@ -0,0 +1,21 @@ +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + name: prometheus + labels: + app: prometheus +spec: + image: quay.io/prometheus/prometheus:v2.22.1 + nodeSelector: + kubernetes.io/os: linux + replicas: 3 + resources: + requests: + memory: 400Mi + securityContext: + fsGroup: 2000 + runAsNonRoot: true + runAsUser: 1000 + serviceAccountName: prometheus + version: v2.22.1 + serviceMonitorSelector: {} diff --git a/cicd/k3s-rabbitmq-incluster/prometheus_servicemonitor.yaml b/cicd/k3s-rabbitmq-incluster/prometheus_servicemonitor.yaml new file mode 100644 index 000000000..ea252e6d1 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/prometheus_servicemonitor.yaml @@ -0,0 +1,13 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: prometheus-self + labels: + app: prometheus +spec: + endpoints: + - interval: 5s + port: web + selector: + matchLabels: + app: prometheus diff --git a/cicd/k3s-rabbitmq-incluster/rmconfig.sh b/cicd/k3s-rabbitmq-incluster/rmconfig.sh new file mode 100755 index 000000000..096e37b75 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmconfig.sh @@ -0,0 +1,4 @@ +#!/bin/bash +vagrant destroy -f worker1 +vagrant destroy -f master +vagrant destroy -f host diff --git a/cicd/k3s-rabbitmq-incluster/rmq/client-service.yaml b/cicd/k3s-rabbitmq-incluster/rmq/client-service.yaml new file mode 100644 index 000000000..c3dfc6bc7 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmq/client-service.yaml @@ -0,0 +1,24 @@ +kind: Service +apiVersion: v1 +metadata: + namespace: test-rabbitmq + name: rabbitmq-client + labels: + app: rabbitmq + type: LoadBalancer +spec: + type: LoadBalancer + loadBalancerClass: loxilb.io/loxilb + externalTrafficPolicy: Local + ports: + - name: http + protocol: TCP + port: 15672 + - name: prometheus + protocol: TCP + port: 15692 + - name: amqp + protocol: TCP + port: 5672 + selector: + app: rabbitmq diff --git a/cicd/k3s-rabbitmq-incluster/rmq/configmap.yaml b/cicd/k3s-rabbitmq-incluster/rmq/configmap.yaml new file mode 100644 index 000000000..5360b145b --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmq/configmap.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: rabbitmq-config + namespace: test-rabbitmq +data: + enabled_plugins: | + [rabbitmq_peer_discovery_k8s, rabbitmq_management, rabbitmq_prometheus]. + rabbitmq.conf: | + cluster_formation.peer_discovery_backend = k8s + cluster_formation.k8s.host = kubernetes.default.svc.cluster.local + cluster_formation.k8s.address_type = hostname + cluster_formation.k8s.service_name = rabbitmq-headless + + queue_master_locator=min-masters diff --git a/cicd/k3s-rabbitmq-incluster/rmq/headless-service.yaml b/cicd/k3s-rabbitmq-incluster/rmq/headless-service.yaml new file mode 100644 index 000000000..37b1222df --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmq/headless-service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: rabbitmq-headless + namespace: test-rabbitmq +spec: + clusterIP: None + ports: + - name: epmd + port: 4369 + protocol: TCP + targetPort: 4369 + - name: cluster-rpc + port: 25672 + protocol: TCP + targetPort: 25672 + selector: + app: rabbitmq + type: ClusterIP + sessionAffinity: None diff --git a/cicd/k3s-rabbitmq-incluster/rmq/namespace.yaml b/cicd/k3s-rabbitmq-incluster/rmq/namespace.yaml new file mode 100644 index 000000000..e2ef8f8bc --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmq/namespace.yaml @@ -0,0 +1,6 @@ +## All resources will be created in this namespace +## To delete all resources created by this example, simply delete this namespace: +apiVersion: v1 +kind: Namespace +metadata: + name: test-rabbitmq diff --git a/cicd/k3s-rabbitmq-incluster/rmq/rabbitmq.yaml b/cicd/k3s-rabbitmq-incluster/rmq/rabbitmq.yaml new file mode 100644 index 000000000..4e84bb508 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmq/rabbitmq.yaml @@ -0,0 +1,24 @@ +apiVersion: rabbitmq.com/v1beta1 +kind: RabbitmqCluster +metadata: + name: hello-world +spec: + replicas: 3 + service: + type: LoadBalancer + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: "node-role.kubernetes.io/master" + operator: DoesNotExist + - key: "node-role.kubernetes.io/control-plane" + operator: DoesNotExist + override: + service: + spec: + loadBalancerClass: loxilb.io/loxilb + externalTrafficPolicy: Local + ports: + - port: 5672 diff --git a/cicd/k3s-rabbitmq-incluster/rmq/rbac.yaml b/cicd/k3s-rabbitmq-incluster/rmq/rbac.yaml new file mode 100644 index 000000000..6403f39c7 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmq/rbac.yaml @@ -0,0 +1,33 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: rabbitmq + namespace: test-rabbitmq +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: rabbitmq + namespace: test-rabbitmq +rules: +- apiGroups: [""] + resources: ["endpoints"] + verbs: ["get"] +- apiGroups: [""] + resources: ["events"] + verbs: ["create"] +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: rabbitmq + namespace: test-rabbitmq +subjects: +- kind: ServiceAccount + name: rabbitmq + namespace: test-rabbitmq +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: rabbitmq diff --git a/cicd/k3s-rabbitmq-incluster/rmq/statefulset.yaml b/cicd/k3s-rabbitmq-incluster/rmq/statefulset.yaml new file mode 100644 index 000000000..6422406ed --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/rmq/statefulset.yaml @@ -0,0 +1,142 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: rabbitmq + namespace: test-rabbitmq +spec: + selector: + matchLabels: + app: "rabbitmq" + # headless service that gives network identity to the RMQ nodes, and enables them to cluster + serviceName: rabbitmq-headless # serviceName is the name of the service that governs this StatefulSet. This service must exist before the StatefulSet, and is responsible for the network identity of the set. Pods get DNS/hostnames that follow the pattern: pod-specific-string.serviceName.default.svc.cluster.local where "pod-specific-string" is managed by the StatefulSet controller. + volumeClaimTemplates: + - metadata: + name: rabbitmq-data + namespace: test-rabbitmq + spec: + storageClassName: standard + accessModes: + - ReadWriteOnce + resources: + requests: + storage: "3Gi" + template: + metadata: + name: rabbitmq + namespace: test-rabbitmq + labels: + app: rabbitmq + spec: + initContainers: + # Since k8s 1.9.4, config maps mount read-only volumes. Since the Docker image also writes to the config file, + # the file must be mounted as read-write. We use init containers to copy from the config map read-only + # path, to a read-write path + - name: "rabbitmq-config" + image: busybox:1.32.0 + volumeMounts: + - name: rabbitmq-config + mountPath: /tmp/rabbitmq + - name: rabbitmq-config-rw + mountPath: /etc/rabbitmq + command: + - sh + - -c + # the newline is needed since the Docker image entrypoint scripts appends to the config file + - cp /tmp/rabbitmq/rabbitmq.conf /etc/rabbitmq/rabbitmq.conf && echo '' >> /etc/rabbitmq/rabbitmq.conf; + cp /tmp/rabbitmq/enabled_plugins /etc/rabbitmq/enabled_plugins + volumes: + - name: rabbitmq-config + configMap: + name: rabbitmq-config + optional: false + items: + - key: enabled_plugins + path: "enabled_plugins" + - key: rabbitmq.conf + path: "rabbitmq.conf" + # read-write volume into which to copy the rabbitmq.conf and enabled_plugins files + # this is needed since the docker image writes to the rabbitmq.conf file + # and Kubernetes Config Maps are mounted as read-only since Kubernetes 1.9.4 + - name: rabbitmq-config-rw + emptyDir: {} + - name: rabbitmq-data + persistentVolumeClaim: + claimName: rabbitmq-data + serviceAccount: rabbitmq + # The Docker image runs as the `rabbitmq` user with uid 999 + # and writes to the `rabbitmq.conf` file + # The security context is needed since the image needs + # permission to write to this file. Without the security + # context, `rabbitmq.conf` is owned by root and inaccessible + # by the `rabbitmq` user + securityContext: + fsGroup: 999 + runAsUser: 999 + runAsGroup: 999 + containers: + - name: rabbitmq + # Community Docker Image + image: rabbitmq:latest + volumeMounts: + # mounting rabbitmq.conf and enabled_plugins + # this should have writeable access, this might be a problem + - name: rabbitmq-config-rw + mountPath: "/etc/rabbitmq" + # mountPath: "/etc/rabbitmq/conf.d/" + # rabbitmq data directory + - name: rabbitmq-data + mountPath: "/var/lib/rabbitmq/mnesia" + env: + - name: RABBITMQ_DEFAULT_PASS + valueFrom: + secretKeyRef: + name: rabbitmq-admin + key: pass + - name: RABBITMQ_DEFAULT_USER + valueFrom: + secretKeyRef: + name: rabbitmq-admin + key: user + - name: RABBITMQ_ERLANG_COOKIE + valueFrom: + secretKeyRef: + name: erlang-cookie + key: cookie + ports: + - name: amqp + containerPort: 5672 + protocol: TCP + - name: management + containerPort: 15672 + protocol: TCP + - name: prometheus + containerPort: 15692 + protocol: TCP + - name: epmd + containerPort: 4369 + protocol: TCP + livenessProbe: + exec: + # This is just an example. There is no "one true health check" but rather + # several rabbitmq-diagnostics commands that can be combined to form increasingly comprehensive + # and intrusive health checks. + # Learn more at https://www.rabbitmq.com/monitoring.html#health-checks. + # + # Stage 2 check: + command: ["rabbitmq-diagnostics", "status"] + initialDelaySeconds: 60 + # See https://www.rabbitmq.com/monitoring.html for monitoring frequency recommendations. + periodSeconds: 60 + timeoutSeconds: 15 + readinessProbe: # probe to know when RMQ is ready to accept traffic + exec: + # This is just an example. There is no "one true health check" but rather + # several rabbitmq-diagnostics commands that can be combined to form increasingly comprehensive + # and intrusive health checks. + # Learn more at https://www.rabbitmq.com/monitoring.html#health-checks. + # + # Stage 1 check: + command: ["rabbitmq-diagnostics", "ping"] + initialDelaySeconds: 20 + periodSeconds: 60 + timeoutSeconds: 10 diff --git a/cicd/k3s-rabbitmq-incluster/validation.sh b/cicd/k3s-rabbitmq-incluster/validation.sh new file mode 100755 index 000000000..c96f4ff18 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/validation.sh @@ -0,0 +1,58 @@ +#!/bin/bash +source ../common.sh +echo k3s-flannel-cluster + +if [ "$1" ]; then + KUBECONFIG="$1" +fi + +# Set space as the delimiter +IFS=' ' + +sleep 45 +extIP="123.123.123.1" +echo $extIP + +echo "Service Info" +vagrant ssh master -c 'sudo kubectl get svc' +echo "LB Info" +vagrant ssh loxilb -c 'sudo docker exec -i loxilb loxicmd get lb -o wide' +echo "EP Info" +vagrant ssh loxilb -c 'sudo docker exec -i loxilb loxicmd get ep -o wide' + +print_debug_info() { + echo "llb1 route-info" + vagrant ssh loxilb -c 'ip route' + vagrant ssh master -c 'sudo kubectl get pods -A' + vagrant ssh master -c 'sudo kubectl get svc' + vagrant ssh master -c 'sudo kubectl get nodes' +} + +out=$(curl -s --connect-timeout 10 http://$extIP:55002) +if [[ ${out} == *"Welcome to nginx"* ]]; then + echo "k3s-flannel-cluster (kube-loxilb) tcp [OK]" +else + echo "k3s-flannel-cluster (kube-loxilb) tcp [FAILED]" + print_debug_info + exit 1 +fi + +out=$(timeout 10 ../common/udp_client $extIP 55003) +if [[ ${out} == *"Client"* ]]; then + echo "k3s-flannel-cluster (kube-loxilb) udp [OK]" +else + echo "k3s-flannel-cluster (kube-loxilb) udp [FAILED]" + print_debug_info + exit 1 +fi + +out=$(timeout 10 ../common/sctp_client 192.168.90.1 41291 $extIP 55004) +if [[ ${out} == *"server1"* ]]; then + echo "k3s-flannel-cluster (kube-loxilb) sctp [OK]" +else + echo "k3s-flannel-cluster (kube-loxilb) sctp [FAILED]" + print_debug_info + exit 1 +fi + +exit diff --git a/cicd/k3s-rabbitmq-incluster/wait_ready.sh b/cicd/k3s-rabbitmq-incluster/wait_ready.sh new file mode 100755 index 000000000..b0e69d01e --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/wait_ready.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +function wait_cluster_ready { + Res=$(sudo kubectl get pods -A | + while IFS= read -r line; do + if [[ "$line" != *"Running"* && "$line" != *"READY"* ]]; then + echo "$line: not ready" + return + fi + done) + if [[ $Res == *"not ready"* ]]; then + echo $Res + return 1 + fi + return 0 +} + +function wait_cluster_ready_full { + i=1 + nr=0 + for ((;;)) do + wait_cluster_ready + nr=$? + if [[ $nr == 0 ]]; then + echo "Cluster is ready" + break + fi + i=$(( $i + 1 )) + if [[ $i -ge 40 ]]; then + echo "Cluster is not ready.Giving up" + exit 1 + fi + echo "Cluster is not ready...." + sleep 10 + done +} + +wait_cluster_ready_full diff --git a/cicd/k3s-rabbitmq-incluster/worker.sh b/cicd/k3s-rabbitmq-incluster/worker.sh new file mode 100644 index 000000000..5da2836b4 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/worker.sh @@ -0,0 +1,13 @@ +export WORKER_ADDR=$(ip a |grep global | grep -v '10.0.2.15' | grep '192.168.80' | awk '{print $2}' | cut -f1 -d '/') +export MASTER_ADDR=$(cat /vagrant/master-ip) +export NODE_TOKEN=$(cat /vagrant/node-token) + +sudo mkdir -p /etc/rancher/k3s +sudo cp -f /vagrant/k3s.yaml /etc/rancher/k3s/k3s.yaml + +curl -sfL https://get.k3s.io | K3S_URL="https://${MASTER_ADDR}:6443" K3S_TOKEN="${NODE_TOKEN}" INSTALL_K3S_EXEC="--node-ip=${WORKER_ADDR} --node-external-ip=${WORKER_ADDR} --kube-proxy-arg proxy-mode=ipvs --flannel-iface=eth1" sh - +#sudo kubectl apply -f /vagrant/nginx.yml +#sudo kubectl apply -f /vagrant/udp.yml +#sudo kubectl apply -f /vagrant/iperf-service.yml +#sudo kubectl apply -f /vagrant/loxilb.yml +/vagrant/wait_ready.sh diff --git a/cicd/k3s-rabbitmq-incluster/worker_with_cilium.sh b/cicd/k3s-rabbitmq-incluster/worker_with_cilium.sh new file mode 100644 index 000000000..0e7be7c64 --- /dev/null +++ b/cicd/k3s-rabbitmq-incluster/worker_with_cilium.sh @@ -0,0 +1,14 @@ +export WORKER_ADDR=$(ip a |grep global | grep -v '10.0.2.15' | grep '192.168.80' | awk '{print $2}' | cut -f1 -d '/') +export MASTER_ADDR=$(cat /vagrant/master-ip) +export NODE_TOKEN=$(cat /vagrant/node-token) + +sudo mkdir -p /etc/rancher/k3s +sudo cp -f /vagrant/k3s.yaml /etc/rancher/k3s/k3s.yaml +curl -sfL https://get.k3s.io | K3S_URL="https://${MASTER_ADDR}:6443" K3S_TOKEN="${NODE_TOKEN}" INSTALL_K3S_EXEC="--node-ip=${WORKER_ADDR} --node-external-ip=${WORKER_ADDR}" sh - + +#curl -sfL https://get.k3s.io | K3S_URL="https://${MASTER_ADDR}:6443" K3S_TOKEN="${NODE_TOKEN}" INSTALL_K3S_EXEC="--node-ip=${WORKER_ADDR} --node-external-ip=${WORKER_ADDR} --kube-proxy-arg proxy-mode=ipvs --flannel-iface=eth1" sh - +#sudo kubectl apply -f /vagrant/nginx.yml +#sudo kubectl apply -f /vagrant/udp.yml +#sudo kubectl apply -f /vagrant/iperf-service.yml +#sudo kubectl apply -f /vagrant/loxilb.yml +/vagrant/wait_ready.sh From d28a0f562a84aaece347d79dda306a723c193ce9 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Wed, 24 Jul 2024 15:33:27 +0900 Subject: [PATCH 069/171] gh-726 Better support for http2 --- loxilb-ebpf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index ffbed7aa6..855224ba1 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit ffbed7aa6aa0e976f793d0a2ab3b0a7075b1a2bd +Subproject commit 855224ba14cf4cc2ac5e3d64132efa3991cf3fec From da2e7ca4093b0de8d1dcb3003f3731ebae467ab4 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Thu, 25 Jul 2024 00:12:49 +0900 Subject: [PATCH 070/171] chore: Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e55ca322b..86e13fb1e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ All these services are provided by load-balancers/proxies operating at Layer4/La Service type load-balancer is usually provided by public cloud-provider(s) as a managed entity. But for on-prem and self-managed clusters, there are only a few good options available. Even for provider-managed K8s like EKS, there are many who would want to bring their own LB to clusters running anywhere. loxilb provides service type load-balancer as its main use-case. loxilb can be run in-cluster or ext-to-cluster as per user need. -loxilb works as a L4 load-balancer/service-proxy by default. Although L4 load-balancing provides great performance and functionality, at times, an equally performant L7 load-balancer is also necessary in K8s for various use-cases. loxilb also supports L7 load-balancing in the form of Kubernetes Ingress implementation. This also benefit users who need L4 and L7 load-balancing under the same hood. +loxilb works as a L4 load-balancer/service-proxy by default. Although L4 load-balancing provides great performance and functionality, an equally performant L7 load-balancer is also necessary in K8s for various use-cases. loxilb also supports L7 load-balancing in the form of Kubernetes Ingress implementation which is enhanced with eBPF sockmap helpers. This also benefit users who need L4 and L7 load-balancing under the same hood. Additionally, loxilb also supports: - [x] kube-proxy replacement with eBPF(full cluster-mesh implementation for Kubernetes) From 6c80cddf1fe584c36ae7f035040f96f367c3daff Mon Sep 17 00:00:00 2001 From: Trekkie <111065900+TrekkieCoder@users.noreply.github.com> Date: Thu, 25 Jul 2024 00:24:43 +0900 Subject: [PATCH 071/171] Fixed Docker build fail --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index afb1ecec3..41b516ede 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,9 +26,9 @@ RUN mkdir -p /opt/loxilb && \ apt-get install -y clang llvm libelf-dev libpcap-dev vim net-tools \ elfutils dwarves git libbsd-dev bridge-utils wget unzip build-essential \ bison flex sudo iproute2 pkg-config tcpdump iputils-ping curl bash-completion && \ - # Install openssl-3.0.0 - wget https://www.openssl.org/source/openssl-3.0.0.tar.gz && tar -xvzf openssl-3.0.0.tar.gz && \ - cd openssl-3.0.0 && ./Configure enable-ktls '-Wl,-rpath,$(LIBRPATH)' --prefix=/usr/local/build && \ + # Install openssl-3.0.7 + wget https://github.com/openssl/openssl/releases/download/openssl-3.0.7/openssl-3.0.7.tar.gz && tar -xvzf openssl-3.0.7.tar.gz && \ + cd openssl-3.0.7 && ./Configure enable-ktls '-Wl,-rpath,$(LIBRPATH)' --prefix=/usr/local/build && \ make -j$(nproc) && make install_dev install_modules && cd - && \ cp -a /usr/local/build/include/openssl /usr/include/ && \ if [ -d /usr/local/build/lib64 ] ; then mv /usr/local/build/lib64 /usr/local/build/lib; fi && \ From 999a94e94b38a67a2cd5bb204928e04fe873b3b7 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Thu, 25 Jul 2024 07:59:55 +0900 Subject: [PATCH 072/171] chore: Updated README --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 86e13fb1e..71c062264 100644 --- a/README.md +++ b/README.md @@ -63,13 +63,14 @@ Telco-cloud requires load-balancing and communication across various interfaces/ - Stateful firewalling and IPSEC/Wireguard support - Optimized implementation for features like [Conntrack](https://thermalcircle.de/doku.php?id=blog:linux:connection_tracking_1_modules_and_hooks), QoS etc - Full compatibility for ipvs (ipvs policies can be auto inherited) -- Policy oriented L7 proxy support - HTTP1.0, 1.1, 2.0 etc (planned 🚧) +- Policy oriented L7 proxy support - HTTP1.0, 1.1, 2.0, 3.0 ## Components of loxilb - GoLang based control plane components - A scalable/efficient [eBPF](https://ebpf.io/) based data-path implementation - Integrated goBGP based routing stack -- A kubernetes agent [kube-loxilb](https://github.com/loxilb-io/kube-loxilb) written in Go +- A kubernetes operator [kube-loxilb](https://github.com/loxilb-io/kube-loxilb) written in Go +- A kubernetes ingress implementation ## Architectural Considerations - [Understanding loxilb modes and deployment in K8s with kube-loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/kube-loxilb.md) From 1cc75f357cdf436b006d16eb8d70aeebdb4d162d Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Thu, 25 Jul 2024 13:01:40 +0900 Subject: [PATCH 073/171] gh-726 Added a proxy only mode --- loxilb-ebpf | 2 +- options/options.go | 1 + pkg/loxinet/dpebpf_linux.go | 14 +++++++++++++- pkg/loxinet/loxinet.go | 4 +++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index 855224ba1..fce61192b 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit 855224ba14cf4cc2ac5e3d64132efa3991cf3fec +Subproject commit fce61192b47549930b8d19a782c05b91c9ee24f0 diff --git a/options/options.go b/options/options.go index a0633ee8c..79752691b 100644 --- a/options/options.go +++ b/options/options.go @@ -35,4 +35,5 @@ var Opts struct { LocalSockPolicy bool `long:"localsockpolicy" description:"support local socket policies (experimental)"` SockMapSupport bool `long:"sockmapsupport" description:"Support sockmap based L4 proxying (experimental)"` ConfigPath string `long:"config-path" description:"Config file path" default:"/etc/loxilb/"` + ProxyModeOnly bool `long:"proxyonlymode" description:"Run loxilb in proxy mode only, no Datapath"` } diff --git a/pkg/loxinet/dpebpf_linux.go b/pkg/loxinet/dpebpf_linux.go index 1cbd9a20a..f94cdb7c2 100644 --- a/pkg/loxinet/dpebpf_linux.go +++ b/pkg/loxinet/dpebpf_linux.go @@ -267,7 +267,7 @@ func DpEbpfSetLogLevel(logLevel tk.LogLevelT) { } // DpEbpfInit - initialize the ebpf dp subsystem -func DpEbpfInit(clusterEn, rssEn, egrHooks, localSockPolicy, sockMapEn bool, nodeNum int, logLevel tk.LogLevelT) *DpEbpfH { +func DpEbpfInit(clusterEn, rssEn, egrHooks, localSockPolicy, sockMapEn bool, nodeNum int, disBPF bool, logLevel tk.LogLevelT) *DpEbpfH { var cfg C.struct_ebpfcfg if clusterEn { @@ -291,6 +291,12 @@ func DpEbpfInit(clusterEn, rssEn, egrHooks, localSockPolicy, sockMapEn bool, nod cfg.have_sockmap = 0 } + if disBPF { + cfg.have_noebpf = 1 + } else { + cfg.have_noebpf = 0 + } + cfg.nodenum = C.int(nodeNum) cfg.loglevel = 1 cfg.no_loader = 0 @@ -404,6 +410,9 @@ func convDPv6Addr2NetIP(addr unsafe.Pointer) net.IP { // loadEbpfPgm - load loxilb eBPF program to an interface func (e *DpEbpfH) loadEbpfPgm(name string) int { + if mh.disBPF { + return 0 + } ifStr := C.CString(name) xSection := C.CString(string(C.XDP_LL_SEC_DEFAULT)) link, err := nlp.LinkByName(name) @@ -439,6 +448,9 @@ func (e *DpEbpfH) loadEbpfPgm(name string) int { // unLoadEbpfPgm - unload loxilb eBPF program from an interface func (e *DpEbpfH) unLoadEbpfPgm(name string) int { + if mh.disBPF { + return 0 + } ifStr := C.CString(name) xSection := C.CString(string(C.XDP_LL_SEC_DEFAULT)) diff --git a/pkg/loxinet/loxinet.go b/pkg/loxinet/loxinet.go index 6235ceda4..ceebccdbd 100644 --- a/pkg/loxinet/loxinet.go +++ b/pkg/loxinet/loxinet.go @@ -79,6 +79,7 @@ type loxiNetH struct { eHooks bool lSockPolicy bool sockMapEn bool + disBPF bool pFile *os.File } @@ -219,6 +220,7 @@ func loxiNetInit() { mh.pProbe = opts.Opts.PassiveEPProbe mh.lSockPolicy = opts.Opts.LocalSockPolicy mh.sockMapEn = opts.Opts.SockMapSupport + mh.disBPF = opts.Opts.ProxyModeOnly mh.sigCh = make(chan os.Signal, 5) signal.Notify(mh.sigCh, os.Interrupt, syscall.SIGCHLD, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM) @@ -247,7 +249,7 @@ func loxiNetInit() { RunCommand(MkMountCG2, false) } // Initialize the ebpf datapath subsystem - mh.dpEbpf = DpEbpfInit(clusterMode, mh.rssEn, mh.eHooks, mh.lSockPolicy, mh.sockMapEn, mh.self, -1) + mh.dpEbpf = DpEbpfInit(clusterMode, mh.rssEn, mh.eHooks, mh.lSockPolicy, mh.sockMapEn, mh.self, mh.disBPF, -1) mh.dp = DpBrokerInit(mh.dpEbpf, rpcMode) // Initialize the security zone subsystem From 3a1b1fd37c391fbbc88447ae6a12f5a042570f46 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Fri, 26 Jul 2024 00:48:35 +0900 Subject: [PATCH 074/171] chore: Update README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 71c062264..01c0800aa 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,11 @@ loxilb is an open source cloud-native load-balancer based on GoLang/eBPF with th ## Kubernetes with loxilb -Kubernetes defines many service constructs like cluster-ip, node-port, load-balancer etc for pod to pod, pod to service and outside-world to service communication. +Kubernetes defines many service constructs like cluster-ip, node-port, load-balancer, ingress etc for pod to pod, pod to service and outside-world to service communication. ![LoxiLB Cover](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/loxilb-cover.png) -All these services are provided by load-balancers/proxies operating at Layer4/Layer7. Since Kubernetes's is highly modular, these services can be provided by different software modules. For example, kube-proxy is used by default to provide cluster-ip and node-port services. +All these services are provided by load-balancers/proxies operating at Layer4/Layer7. Since Kubernetes's is highly modular, these services can be provided by different software modules. For example, kube-proxy is used by default to provide cluster-ip and node-port services. For some services like LB and Ingress, no default is usually provided. Service type load-balancer is usually provided by public cloud-provider(s) as a managed entity. But for on-prem and self-managed clusters, there are only a few good options available. Even for provider-managed K8s like EKS, there are many who would want to bring their own LB to clusters running anywhere. loxilb provides service type load-balancer as its main use-case. loxilb can be run in-cluster or ext-to-cluster as per user need. From 3ac2854da35ad00aff41b1175cf7029790a7d79f Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Fri, 26 Jul 2024 10:40:03 +0900 Subject: [PATCH 075/171] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 01c0800aa..6649d9c2a 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,9 @@ Telco-cloud requires load-balancing and communication across various interfaces/ - [K3s : loxilb service-proxy with flannel](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/service-proxy-flannel.md) - [K3s : loxilb service-proxy with calico](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/service-proxy-calico.md) +#### loxilb as Kubernetes Ingress +- [K3s: How to run loxilb-ingress](loxilb-ingress.md) + #### loxilb in standalone mode - [Run loxilb standalone](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/standalone.md) @@ -102,7 +105,7 @@ Telco-cloud requires load-balancing and communication across various interfaces/ - [How-To : Access end-points outside K8s](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/ext-ep.md) - [How-To : Deploy multi-server K3s HA with loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k3s-multi-master.md) - [How-To : Deploy loxilb with multi-AZ HA support in AWS](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/aws-multi-az.md) -- [How-To : Deploy loxilb with Ingress](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/loxilb-nginx-ingress.md) +- [How-To : Deploy loxilb with ingress-nginx](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/loxilb-nginx-ingress.md) ## Knowledge-Base - [What is eBPF](ebpf.md) From 7e7d75b51be7768aba6851a0952ebc19a7945ca2 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Fri, 26 Jul 2024 11:10:07 +0900 Subject: [PATCH 076/171] chore : Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6649d9c2a..8e9e511bc 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ Telco-cloud requires load-balancing and communication across various interfaces/ - [K3s : loxilb service-proxy with calico](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/service-proxy-calico.md) #### loxilb as Kubernetes Ingress -- [K3s: How to run loxilb-ingress](loxilb-ingress.md) +- [K3s: How to run loxilb-ingress](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/loxilb-ingress.md) #### loxilb in standalone mode - [Run loxilb standalone](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/standalone.md) From 01bf77b411ebc46bf10304ca13c3d1d856f9ec5d Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Fri, 26 Jul 2024 18:26:20 +0900 Subject: [PATCH 077/171] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e9e511bc..9d1f62777 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ![apache](https://img.shields.io/badge/license-Apache-blue.svg) [![Info][docs-shield]][docs-url] [![Slack](https://img.shields.io/badge/community-join%20slack-blue)](https://join.slack.com/t/loxilb/shared_invite/zt-2b3xx14wg-P7WHj5C~OEON_jviF0ghcQ) ## What is loxilb -loxilb is an open source cloud-native load-balancer based on GoLang/eBPF with the goal of achieving cross-compatibility across a wide range of on-prem, public-cloud or hybrid K8s environments. +loxilb is an open source cloud-native load-balancer based on GoLang/eBPF with the goal of achieving cross-compatibility across a wide range of on-prem, public-cloud or hybrid K8s environments. loxilb is being developed to support the adoption of cloud-native tech in telco, mobility, and edge computing. ## Kubernetes with loxilb From 80a807f596a76544de2295ab8ff3a294b97a449c Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Fri, 26 Jul 2024 23:07:11 +0900 Subject: [PATCH 078/171] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d1f62777..0173c789b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Kubernetes defines many service constructs like cluster-ip, node-port, load-bala All these services are provided by load-balancers/proxies operating at Layer4/Layer7. Since Kubernetes's is highly modular, these services can be provided by different software modules. For example, kube-proxy is used by default to provide cluster-ip and node-port services. For some services like LB and Ingress, no default is usually provided. -Service type load-balancer is usually provided by public cloud-provider(s) as a managed entity. But for on-prem and self-managed clusters, there are only a few good options available. Even for provider-managed K8s like EKS, there are many who would want to bring their own LB to clusters running anywhere. loxilb provides service type load-balancer as its main use-case. loxilb can be run in-cluster or ext-to-cluster as per user need. +Service type load-balancer is usually provided by public cloud-provider(s) as a managed entity. But for on-prem and self-managed clusters, there are only a few good options available. Even for provider-managed K8s like EKS, there are many who would want to bring their own LB to clusters running anywhere. Additionally, Telco 5G and edge services introduce unique challenges due to the variety of exotic protocols involved, including GTP, SCTP, SRv6, and DTLS, making seamless integration particularly challenging. loxilb provides service type load-balancer as its main use-case. loxilb can be run in-cluster or ext-to-cluster as per user need. loxilb works as a L4 load-balancer/service-proxy by default. Although L4 load-balancing provides great performance and functionality, an equally performant L7 load-balancer is also necessary in K8s for various use-cases. loxilb also supports L7 load-balancing in the form of Kubernetes Ingress implementation which is enhanced with eBPF sockmap helpers. This also benefit users who need L4 and L7 load-balancing under the same hood. From 0b30e7b50f8e45eac034c138418bc1bd94cc1f02 Mon Sep 17 00:00:00 2001 From: Nichole Turner Date: Sun, 28 Jul 2024 14:29:59 +0900 Subject: [PATCH 079/171] #87 Do not use of docker pid and cgroup option for all cases --- cicd/common.sh | 11 ++++++++--- cicd/tcplb-local/config.sh | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cicd/common.sh b/cicd/common.sh index fcf7ea8ec..807aa8870 100644 --- a/cicd/common.sh +++ b/cicd/common.sh @@ -16,6 +16,7 @@ hostdocker="ghcr.io/loxilb-io/nettest:latest" cluster_opts="" extra_opts="" ka_opts="" +docker_extra_opts="" #var=$(lsb_release -r | cut -f2) #if [[ $var == *"22.04"* ]];then # lxdocker="ghcr.io/loxilb-io/loxilb:latestu22" @@ -76,7 +77,7 @@ spawn_docker_host() { fi shift 2 ;; - -d | --ka-config ) + -n | --ka-config ) kpath="$2" if [[ -z ${ka+x} ]]; then ka="in" @@ -87,6 +88,10 @@ spawn_docker_host() { extra_opts="$2" shift 2 ;; + -x | --docker-args) + docker_extra_opts="$2" + shift 2 + ;; -*|--*) echo "Unknown option $1" exit @@ -109,11 +114,11 @@ spawn_docker_host() { fi if [[ ! -z ${ka+x} ]]; then sudo mkdir -p /etc/shared/$dname/ - docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dt --pid=host --cgroupns=host --entrypoint /bin/bash $bgp_conf -v /dev/log:/dev/log -v /etc/shared/$dname:/etc/shared $loxilb_config --name $dname $lxdocker + docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dt $docker_extra_opts --entrypoint /bin/bash $bgp_conf -v /dev/log:/dev/log -v /etc/shared/$dname:/etc/shared $loxilb_config --name $dname $lxdocker get_llb_peerIP $dname docker exec -dt $dname /root/loxilb-io/loxilb/loxilb $bgp_opts $cluster_opts $ka_opts $extra_opts else - docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dt --pid=host --cgroupns=host --entrypoint /bin/bash $bgp_conf -v /dev/log:/dev/log $loxilb_config --name $dname $lxdocker $bgp_opts + docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dt $docker_extra_opts --entrypoint /bin/bash $bgp_conf -v /dev/log:/dev/log $loxilb_config --name $dname $lxdocker $bgp_opts docker exec -dt $dname /root/loxilb-io/loxilb/loxilb $bgp_opts $cluster_opts $extra_opts fi elif [[ "$dtype" == "host" ]]; then diff --git a/cicd/tcplb-local/config.sh b/cicd/tcplb-local/config.sh index b5fe0db0b..ef7569559 100755 --- a/cicd/tcplb-local/config.sh +++ b/cicd/tcplb-local/config.sh @@ -6,7 +6,7 @@ echo "#########################################" echo "Spawning all hosts" echo "#########################################" -spawn_docker_host --dock-type loxilb --dock-name llb1 --extra-args "--localsockpolicy" +spawn_docker_host --dock-type loxilb --dock-name llb1 --docker-args "--pid=host --cgroupns=host" --extra-args "--localsockpolicy" spawn_docker_host --dock-type host --dock-name l3h1 spawn_docker_host --dock-type host --dock-name l3ep1 spawn_docker_host --dock-type host --dock-name l3ep2 From 6f35d419759b26d51bcc54ac7a17d5465665ab14 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Sun, 28 Jul 2024 21:13:15 +0900 Subject: [PATCH 080/171] gh-726 For proxyonly mode, do not use privileged ops --- loxilb-ebpf | 2 +- pkg/loxinet/loxinet.go | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/loxilb-ebpf b/loxilb-ebpf index fce61192b..b7b4f21f4 160000 --- a/loxilb-ebpf +++ b/loxilb-ebpf @@ -1 +1 @@ -Subproject commit fce61192b47549930b8d19a782c05b91c9ee24f0 +Subproject commit b7b4f21f44d73cc6611ecadbdad1b1ab7b8aa15c diff --git a/pkg/loxinet/loxinet.go b/pkg/loxinet/loxinet.go index ceebccdbd..1a119f3d5 100644 --- a/pkg/loxinet/loxinet.go +++ b/pkg/loxinet/loxinet.go @@ -204,14 +204,16 @@ func loxiNetInit() { // It is important to make sure loxilb's eBPF filesystem // is in place and mounted to make sure maps are pinned properly - if !utils.FileExists(BpfFsCheckFile) { - if utils.FileExists(MkfsScript) { - RunCommand(MkfsScript, true) + if !opts.Opts.ProxyModeOnly { + if !utils.FileExists(BpfFsCheckFile) { + if utils.FileExists(MkfsScript) { + RunCommand(MkfsScript, true) + } + } + utils.MkTunFsIfNotExist() + sysctlInit() } - utils.MkTunFsIfNotExist() - - sysctlInit() mh.self = opts.Opts.ClusterSelf mh.rssEn = opts.Opts.RssEnable From 9dbf9599cf60eba03160d86e33cd1f4f039d06cb Mon Sep 17 00:00:00 2001 From: ddegultang Date: Mon, 29 Jul 2024 14:25:52 +0900 Subject: [PATCH 081/171] docs: Korean translation of README.md docs: Korean translation of README.md --- README-KOR.md | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 README-KOR.md diff --git a/README-KOR.md b/README-KOR.md new file mode 100644 index 000000000..ae54f67ea --- /dev/null +++ b/README-KOR.md @@ -0,0 +1,176 @@ +![image](https://github.com/loxilb-io/loxilb/assets/75648333/87da0183-1a65-493f-b6fe-5bc738ba5468) + + +[![Website](https://img.shields.io/static/v1?label=www&message=loxilb.io&color=blue?style=for-the-badge&logo=appveyor)](https://www.loxilb.io) [![eBPF Emerging Project](https://img.shields.io/badge/ebpf.io-Emerging--App-success)](https://ebpf.io/projects#loxilb) [![Go Report Card](https://goreportcard.com/badge/github.com/loxilb-io/loxilb)](https://goreportcard.com/report/github.com/loxilb-io/loxilb) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8472/badge)](https://www.bestpractices.dev/projects/8472) ![build workflow](https://github.com/loxilb-io/loxilb/actions/workflows/docker-image.yml/badge.svg) ![sanity workflow](https://github.com/loxilb-io/loxilb/actions/workflows/basic-sanity.yml/badge.svg) +![apache](https://img.shields.io/badge/license-Apache-blue.svg) [![Info][docs-shield]][docs-url] [![Slack](https://img.shields.io/badge/community-join%20slack-blue)](https://join.slack.com/t/loxilb/shared_invite/zt-2b3xx14wg-P7WHj5C~OEON_jviF0ghcQ) + +## loxilb란 무엇인가? +loxilb는 GoLang/eBPF를 기반으로 한 오픈 소스 클라우드 네이티브 로드 밸런서로, 온-프레미스, 퍼블릭 클라우드 또는 하이브리드 K8s 환경 전반에 걸쳐 호환성을 달성하는 것을 목표로 합니다. loxilb는 텔코 클라우드(5G/6G), 모빌리티 및 엣지 컴퓨팅에서 클라우드 네이티브 기술 채택을 지원하기 위해 개발되고 있습니다. + +## loxilb와 함께하는 Kubernetes + +Kubernetes는 ClusterIP, NodePort, LoadBalancer, Ingress 등 여러 서비스 구조를 정의하여 파드에서 파드로, 파드에서 서비스로, 외부 에서 서비스로의 통신을 가능하게 합니다. + +![LoxiLB Cover](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/loxilb-cover.png) + +이 모든 서비스는 Layer4/Layer7에서 작동하는 로드 밸런서/프록시가 제공합니다. Kubernetes는 매우 모듈화되어 있으며, 다양한 소프트웨어 모듈이 이러한 서비스를 제공할 수 있습니다. 예를 들어, kube-proxy는 기본적으로 ClusterIP 와 NodePort 서비스를 제공하지만, LoadBalancer 와 Ingress 같은 일부 서비스는 기본적으로 제공되지 않습니다. + +로드 밸런서 서비스는 일반적으로 퍼블릭 클라우드 제공자가 관리 구성 요소로 함께 제공합니다. 그러나 온프레미스 및 자체 관리 클러스터의 경우 사용할 수 있는 옵션이 제한적입니다. 매니지드 K8S 서비스(예: EKS)의 경우에도 로드 밸런서를 클러스터 어디서나 가져오려는 사람들이 많습니다. 추가적으로, 텔코 5G/6G 및 엣지 서비스는 GTP, SCTP, SRv6, DTLS와 같은 범용적이지 않은 프로토콜 사용으로 인해 기존 K8S 서비스에서의 원활한 통합이 특히 어렵습니다. loxilb는 로드 밸런서 서비스 유형 기능을 주요 사용 사례로 제공합니다. loxilb는 사용자의 필요에 따라 클러스터 내 또는 클러스터 외부에서 실행할 수 있습니다. + +loxilb는 기본적으로 L4 로드 밸런서/서비스 프록시로 작동합니다. L4 로드 밸런싱이 우수한 성능과 기능을 제공하지만, 다양한 사용 사례를 위해 K8s에서 동일하게 성능이 뛰어난 L7 로드 밸런서도 필요합니다. loxilb는 또한 eBPF SOCKMAP Helper를 사용하여 향상된 Kubernetes Ingress 구현 형태로 L7 로드 밸런싱을 지원합니다. 이는 동일한 환경에서 L4와 L7 로드 밸런싱이 필요한 사용자에게도 유리합니다. + +추가적으로 loxilb는 다음을 지원합니다: +- [x] eBPF를 통한 kube-proxy 교체(Kubernetes의 전체 클러스터 메쉬 구현) +- [x] 인그레스 지원 +- [x] Kubernetes Gateway API +- [ ] Kubernetes 네트워크 정책 + +## loxilb와 함께하는 텔코 클라우드 +클라우드 네이티브 기능으로 텔코-클라우드를 배포하려면 loxilb를 SCP(Service Communication Proxy: 서비스 통신 프록시)로 사용할 수 있습니다. SCP는 [3GPP](https://www.etsi.org/deliver/etsi_ts/129500_129599/129500/16.04.00_60/ts_129500v160400p.pdf)에서 정의한 통신 프록시로, 클라우드 네이티브 환경에서 실행되는 텔코 마이크로 서비스에 목적을 두고 있습니다. 자세한 내용은 이 [블로그](https://dev.to/nikhilmalik/5g-service-communication-proxy-with-loxilb-4242)를 참조하십시오. +![image](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/scp.svg) + +텔코-클라우드는 N2, N4, E2(ORAN), S6x, 5GLAN, GTP 등 다양한 인터페이스와 표준을 통한 로드 밸런싱 및 통신을 필요로 합니다. 각각 고유한 챌린지를 요구하며, loxilb는 이를 해결하는 것을 목표로 합니다. 예를 들어: +- N4는 PFCP 수준의 세션 인텔리전스를 요구합니다. +- N2는 NGAP 파싱 기능이 필요합니다(관련 블로그 - [블로그-1](https://www.loxilb.io/post/ngap-load-balancing-with-loxilb), [블로그-2](https://futuredon.medium.com/5g-sctp-loadbalancer-using-loxilb-b525198a9103), [블로그-3](https://medium.com/@ben0978327139/5g-sctp-loadbalancer-using-loxilb-applying-on-free5gc-b5c05bb723f0)). +- S6x는 Diameter/SCTP 멀티-호밍 LB 지원이 필요합니다(관련 [블로그](https://www.loxilb.io/post/k8s-introducing-sctp-multihoming-functionality-with-loxilb)). +- MEC 사용 사례는 UL-CL 이해가 필요할 수 있습니다(관련 [블로그](https://futuredon.medium.com/5g-uplink-classifier-using-loxilb-7593a4d66f4c)). +- 미션 크리티컬 애플리케이션을 위해 히트리스 장애 조치 지원이 필수적일 수 있습니다. +- E2는 OpenVPN과 번들된 SCTP-LB가 필요할 수 있습니다. +- 클라우드 네이티브 VOIP를 가능하게 하는 SIP 지원이 필요합니다. + +## loxilb를 선택해야 하는 이유? + +- 다양한 아키텍처 전반에서 경쟁자보다 ```성능```이 훨씬 뛰어납니다. + * [싱글 노드 성능](https://loxilb-io.github.io/loxilbdocs/perf-single/) + * [멀티 노드 성능](https://loxilb-io.github.io/loxilbdocs/perf-multi/) + * [ARM에서의 성능](https://www.loxilb.io/post/running-loxilb-on-aws-graviton2-based-ec2-instance) + * [성능 관련 데모](https://www.youtube.com/watch?v=MJXcM0x6IeQ) +- ebpf를 활용하여 ```유연```하고 ```사용자 정의```가 가능합니다. +- 워크로드에 대한 고급 ```서비스 품질```(LB별, 엔드포인트별 또는 클라이언트별) +- ```어떤``` Kubernetes 배포판/CNI와도 호환 - k8s/k3s/k0s/kind/OpenShift + Calico/Flannel/Cilium/Weave/Multus 등 +- loxilb를 사용한 kube-proxy 교체는 ```간단한 플러그인```으로 기존에 배포된 파드 네트워킹 소프트웨어와 통합이 가능합니다. +- K8s에서 ```SCTP 워크로드```(멀티-호밍 포함)에 대한 광범위한 지원 +- ```NAT66, NAT64```를 지원하는 듀얼 스택 K8s +- ```멀티 클러스터``` K8s 지원 (계획 중 🚧) +- ```어떤``` 클라우드(퍼블릭 클라우드/온프레미스) 또는 ```독립형``` 환경에서도 실행 가능 + +## loxilb의 전반적인 기능 +- L4/NAT 상태 저장 로드밸런서 + * NAT44, NAT66, NAT64를 지원하며 One-ARM, FullNAT, DSR 등 다양한 모드 제공 + * TCP, UDP, SCTP(멀티-호밍 포함), QUIC, FTP, TFTP 등 지원 +- Hiteless/maglev/cgnat 클러스터링을 위한 BFD 감지로 고가용성 지원 +- 클라우드 네이티브 환경을 위한 광범위하고 확장 가능한 엔드포인트 라이브니스 프로브 +- 상태 저장 방화벽 및 IPSEC/Wireguard 지원 +- [Conntrack](https://thermalcircle.de/doku.php?id=blog:linux:connection_tracking_1_modules_and_hooks), QoS 등 기능의 최적화된 구현 +- ipvs와 완전 호환(ipvs 정책 자동 상속 가능) +- 정책 지향 L7 프록시 지원 - HTTP1.0, 1.1, 2.0, 3.0 + +## loxilb의 구성 요소 +- GoLang 기반의 제어 평면 구성 요소 +- 확장 가능하고 효율적인 [eBPF](https://ebpf.io/) 기반 데이터 경로 구현 +- 통합된 goBGP 기반 라우팅 스택 +- Go로 작성된 Kubernetes 오퍼레이터 [kube-loxilb](https://github.com/loxilb-io/kube-loxilb) +- Kubernetes 인그레스 구현 + +## 아키텍처 고려 사항 +- [kube-loxilb와 함께하는 loxilb 모드 및 배포 이해하기](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/kube-loxilb.md) +- [loxilb와 함께하는 고가용성 이해하기](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/ha-deploy.md) + +## 시작하기 +#### 클러스터 외부에서 loxilb 실행 +- [K3s : flannel & loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k3s_quick_start_flannel.md) +- [K3s : calico & loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k3s_quick_start_calico.md) +- [K3s : cilium & loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/quick_start_with_cilium.md) +- [K0s : kube-router & loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k0s_quick_start.md) +- [EKS : loxilb 외부 모드](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/eks-external.md) + +#### 클러스터 내에서 loxilb 실행 +- [K3s : loxilb 인-클러스터](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k3s_quick_start_incluster.md) +- [K0s : loxilb 인-클러스터](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k0s_quick_start_incluster.md) +- [MicroK8s : loxilb 인-클러스터](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/microk8s_quick_start_incluster.md) +- [EKS : loxilb 인-클러스터](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/eks-incluster.md) + +#### 서비스 프록시로서의 loxilb(kube-proxy 대체) +- [K3s : flannel 서비스 프록시 & loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/service-proxy-flannel.md) +- [K3s : calico 서비스 프록시 & loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/service-proxy-calico.md) + +#### Kubernetes 인그레스로서의 loxilb +- [K3s: loxilb-ingress 실행 방법](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/loxilb-ingress.md) + +#### 독립형 모드에서 loxilb 실행 +- [독립형 모드에서 loxilb 실행](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/standalone.md) + +## 고급 가이드 +- [How-To : loxilb와 함께하는 서비스 그룹 존 설정](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/service-zones.md) +- [How-To : K8s 외부의 엔드포인트에 접근하기](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/ext-ep.md) +- [How-To : loxilb를 사용한 멀티 서버 K3s HA 배포](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k3s-multi-master.md) +- [How-To : AWS에서 멀티-AZ HA 지원과 함께 loxilb 배포](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/aws-multi-az.md) +- [How-To : ingress-nginx와 함께 loxilb 배포](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/loxilb-nginx-ingress.md) + +## 배경 지식 +- [eBPF란 무엇인가](ebpf.md) +- [k8s 서비스 - 로드 밸런서란 무엇인가](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/lb.md) +- [간단한 아키텍처](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/arch.md) +- [코드 조직](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/code.md) +- [loxilb의 eBPF 내부](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/loxilbebpf.md) +- [loxilb NAT 모드란 무엇인가](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/nat.md) +- [loxilb 로드 밸런서 알고리즘](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/lb-algo.md) +- [수동 빌드/실행 단계](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/run.md) +- [loxilb 디버깅](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/debugging.md) +- [loxicmd 커맨드 사용법](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/cmd.md) +- [loxicmd 개발자 가이드](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/cmd-dev.md) +- [loxilb API 개발자 가이드](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/api-dev.md) +- [API 참조 - loxilb 웹 API](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/api.md) +- [성능 보고서](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/perf.md) +- [개발 로드맵](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/roadmap.md) +- [기여하기](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/contribute.md) +- [시스템 요구 사항](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/requirements.md) +- [자주 묻는 질문(FAQ)](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/faq.md) +- [블로그](https://www.loxilb.io/blog) +- [데모 비디오](https://www.youtube.com/@loxilb697) + +## 커뮤니티 + +### Slack +loxilb 개발자 및 다른 loxilb 사용자와 채팅을 하려면 loxilb [Slack](https://www.loxilb.io/members) 채널에 가입하세요. 이곳은 loxilb에 대해 배우고, 질문을 하고, 협력작업을 하기에 좋은 장소입니다. + +### 일반 토론 +GitHub [토론](https://github.com/loxilb-io/loxilb/discussions)에 자유롭게 질문을 게시하세요. 문제나 버그가 발견되면 GitHub에서 [이슈](https://github.com/loxilb-io/loxilb/issues)를 제기해 주세요. loxilb 커뮤니티의 멤버들이 도와드릴 것입니다. + +## CICD 워크플로우 상태 + +| 기능(Ubuntu20.04) | 기능(Ubuntu22.04)| 기능(RedHat9)| +|:----------|:-------------|:-------------| +| ![build workflow](https://github.com/loxilb-io/loxilb/actions/workflows/docker-image.yml/badge.svg) | [![Docker-Multi-Arch](https://github.com/loxilb-io/loxilb/actions/workflows/docker-multiarch.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/docker-multiarch.yml) | [![SCTP-LB-Sanity-CI-RH9](https://github.com/loxilb-io/loxilb/actions/workflows/sctp-sanity-rh9.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/sctp-sanity-rh9.yml) | +| ![simple workflow](https://github.com/loxilb-io/loxilb/actions/workflows/basic-sanity.yml/badge.svg) | [![Sanity-CI-Ubuntu-22](https://github.com/loxilb-io/loxilb/actions/workflows/basic-sanity-ubuntu-22.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/basic-sanity-ubuntu-22.yml) | [![Sanity-CI-RH9](https://github.com/loxilb-io/loxilb/actions/workflows/basic-sanity-rh9.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/basic-sanity-rh9.yml) | +| [![tcp-lb-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/tcp-sanity.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/tcp-sanity.yml) | [![tcp-lb-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/tcp-sanity-ubuntu-22.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/tcp-sanity-ubuntu-22.yml) | [![TCP-LB-Sanity-CI-RH9](https://github.com/loxilb-io/loxilb/actions/workflows/tcp-sanity-rh9.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/tcp-sanity-rh9.yml) | +| [![udp-lb-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/udp-sanity.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/udp-sanity.yml) | [![udp-lb-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/udp-sanity-ubuntu-22.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/udp-sanity-ubuntu-22.yml) | [![UDP-LB-Sanity-CI-RH9](https://github.com/loxilb-io/loxilb/actions/workflows/udp-sanity-rh9.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/udp-sanity-rh9.yml) | +| [![sctp-lb-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/sctp-sanity.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/sctp-sanity.yml) | ![ipsec-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/ipsec-sanity-ubuntu-22.yml/badge.svg) | [![IPsec-Sanity-CI-RH9](https://github.com/loxilb-io/loxilb/actions/workflows/ipsec-sanity-rh9.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/ipsec-sanity-rh9.yml) | +| ![extlb workflow](https://github.com/loxilb-io/loxilb/actions/workflows/advanced-lb-sanity.yml/badge.svg) | ![nat66-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/nat66-sanity-ubuntu-22.yml/badge.svg) | [![NAT66-LB-Sanity-CI-RH9](https://github.com/loxilb-io/loxilb/actions/workflows/nat66-sanity-rh9.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/nat66-sanity-rh9.yml) | +| ![ipsec-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/ipsec-sanity.yml/badge.svg) | [![Scale-Sanity-CI-Ubuntu-22](https://github.com/loxilb-io/loxilb/actions/workflows/scale-sanity-ubuntu-22.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/scale-sanity-ubuntu-22.yml) | [![Adv-LB-Sanity-CI-RH9](https://github.com/loxilb-io/loxilb/actions/workflows/advanced-lb-sanity-rh9.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/advanced-lb-sanity-rh9.yml) | +| ![scale-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/scale-sanity.yml/badge.svg) | [![perf-CI](https://github.com/loxilb-io/loxilb/actions/workflows/perf.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/perf.yml) | | +| [![liveness-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/liveness-sanity.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/liveness-sanity.yml) | | | +| ![nat66-sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/nat66-sanity.yml/badge.svg) | | | +| [![perf-CI](https://github.com/loxilb-io/loxilb/actions/workflows/perf.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/perf.yml) | | | + +| K3s 테스트 | K8s 클러스터 테스트 | EKS 테스트 | +|:-------------|:-------------|:-------------| +|[![K3s-Base-Sanity-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-base-sanity.yml/badge.svg?branch=main)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-base-sanity.yml) | [![K8s-Calico-Cluster-IPVS-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs.yml) | ![EKS](https://github.com/loxilb-io/loxilb/actions/workflows/eks.yaml/badge.svg?branch=main) | +| [![k3s-flannel-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel.yml) | [![K8s-Calico-Cluster-IPVS2-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs2.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs2.yml) | | +| [![k3s-flannel-ubuntu22-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-ubuntu-22.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-ubuntu-22.yml) | [![K8s-Calico-Cluster-IPVS3-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs3.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs3.yml) | | +|[![k3s-flannel-cluster-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-cluster.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-cluster.yml) | [![K8s-Calico-Cluster-IPVS3-HA-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs3-ha.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k8s-calico-ipvs3-ha.yml) | | +| [![k3s-flannel-incluster-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-incluster.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-incluster.yml) | | | +|[![k3s-flannel-incluster-l2-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-incluster-l2.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-flannel-incluster-l2.yml) | | | +| [![k3s-calico-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-calico.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-calico.yml) | | | +| [![k3s-cilium-cluster-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-cilium-cluster.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-cilium-cluster.yml) | | +| [![k3s-sctpmh-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh.yml) | | | +| [![k3s-sctpmh-ubuntu22-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh-ubuntu-22.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh-ubuntu22.yml) | | | +| [![k3s-sctpmh-2-CI](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh-2.yml/badge.svg)](https://github.com/loxilb-io/loxilb/actions/workflows/k3s-sctpmh-2.yml) | | | + + +## 📚 자세한 정보는 loxilb [웹사이트](https://www.loxilb.io)를 확인하십시오. + +[docs-shield]: https://img.shields.io/badge/info-docs-blue +[docs-url]: https://loxilb-io.github.io/loxilbdocs/ +[slack=shield]: https://img.shields.io/badge/Community-Join%20Slack-blue +[slack-url]: https://www.loxilb.io/members From 3b5b6b1deb0eeac9bf9740f99f0f4247434b8fca Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:27:48 +0900 Subject: [PATCH 082/171] Update README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 0173c789b..7061c925f 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,14 @@ Join the loxilb [Slack](https://www.loxilb.io/members) channel to chat with loxi ### General Discussion Feel free to post your queries in github [discussion](https://github.com/loxilb-io/loxilb/discussions). If you find any issue/bugs, please raise an [issue](https://github.com/loxilb-io/loxilb/issues) in github and members from loxilb community will be happy to help. +### Posts +- [5G SCTP Load Balancer using LoxiLB](https://futuredon.medium.com/5g-sctp-loadbalancer-using-loxilb-b525198a9103) +- [5G Uplink Classifier using LoxiLB](https://futuredon.medium.com/5g-uplink-classifier-using-loxilb-7593a4d66f4c) +- [5G SCTP Load Balancer with free5gc](https://medium.com/@ben0978327139/5g-sctp-loadbalancer-using-loxilb-applying-on-free5gc-b5c05bb723f0) +- [K8s - Bring load balancing to Multus workloads with LoxiLB](https://cloudybytes.medium.com/k8s-bringing-load-balancing-to-multus-workloads-with-loxilb-a0746f270abe) +- [K3s - Using LoxiLB as External Service Load Balancer](https://cloudybytes.medium.com/k3s-using-loxilb-as-external-service-lb-2ea4ce61e159) +- [Kubernetes Services - Achieving Optimal performance is elusive](https://cloudybytes.medium.com/kubernetes-services-achieving-optimal-performance-is-elusive-5def5183c281) + ## CICD Workflow Status | Features(Ubuntu20.04) | Features(Ubuntu22.04)| Features(RedHat9)| From a1cbf77fc64218227dec805fb53e6d7a67e71f24 Mon Sep 17 00:00:00 2001 From: Daniele Polencic Date: Wed, 31 Jul 2024 10:59:33 +0800 Subject: [PATCH 083/171] Create ADOPTERS.md --- ADOPTERS.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 ADOPTERS.md diff --git a/ADOPTERS.md b/ADOPTERS.md new file mode 100644 index 000000000..b41578ff3 --- /dev/null +++ b/ADOPTERS.md @@ -0,0 +1,5 @@ +# Adopters + +This is a list of companies that have adopted Capsule, feel free to open a Pull-Request to get yours listed. + +## Adopters list (alphabetically) From e375cbe8028fb596b5c7390e7378187d438c9ff9 Mon Sep 17 00:00:00 2001 From: Daniele Polencic Date: Wed, 31 Jul 2024 11:00:32 +0800 Subject: [PATCH 084/171] Update ADOPTERS.md --- ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index b41578ff3..5f1d49b07 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -1,5 +1,5 @@ # Adopters -This is a list of companies that have adopted Capsule, feel free to open a Pull-Request to get yours listed. +This is a list of companies that have adopted LoxiLB, feel free to open a Pull-Request to get yours listed. ## Adopters list (alphabetically) From 9182e97b20b3cce7a3471c75854ca320312ff83e Mon Sep 17 00:00:00 2001 From: Nikhil Malik <66406124+nik-netlox@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:37:49 +0900 Subject: [PATCH 085/171] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7061c925f..81bfd2441 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ Join the loxilb [Slack](https://www.loxilb.io/members) channel to chat with loxi ### General Discussion Feel free to post your queries in github [discussion](https://github.com/loxilb-io/loxilb/discussions). If you find any issue/bugs, please raise an [issue](https://github.com/loxilb-io/loxilb/issues) in github and members from loxilb community will be happy to help. -### Posts +### Community Posts - [5G SCTP Load Balancer using LoxiLB](https://futuredon.medium.com/5g-sctp-loadbalancer-using-loxilb-b525198a9103) - [5G Uplink Classifier using LoxiLB](https://futuredon.medium.com/5g-uplink-classifier-using-loxilb-7593a4d66f4c) - [5G SCTP Load Balancer with free5gc](https://medium.com/@ben0978327139/5g-sctp-loadbalancer-using-loxilb-applying-on-free5gc-b5c05bb723f0) From 2bca5696f132eb93f0cb6709d27a4d5c1bd18276 Mon Sep 17 00:00:00 2001 From: Nikhil Malik Date: Wed, 31 Jul 2024 16:33:51 +0900 Subject: [PATCH 086/171] ipsec e2e cicd added --- .github/workflows/ipsec-sanity-rh9.yml | 6 + .github/workflows/ipsec-sanity-ubuntu-22.yml | 6 + .github/workflows/ipsec-sanity.yml | 6 + cicd/ipsec-e2e/config.sh | 149 +++++++ cicd/ipsec-e2e/lgw1_ipsec_config/charon.conf | 376 ++++++++++++++++++ cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.conf | 78 ++++ .../ipsec-e2e/lgw1_ipsec_config/ipsec.secrets | 3 + cicd/ipsec-e2e/llb1_ipsec_config/charon.conf | 376 ++++++++++++++++++ cicd/ipsec-e2e/llb1_ipsec_config/ipsec.conf | 169 ++++++++ .../ipsec-e2e/llb1_ipsec_config/ipsec.secrets | 5 + cicd/ipsec-e2e/rgw1_ipsec_config/charon.conf | 376 ++++++++++++++++++ cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.conf | 76 ++++ .../ipsec-e2e/rgw1_ipsec_config/ipsec.secrets | 3 + cicd/ipsec-e2e/rgw2_ipsec_config/charon.conf | 376 ++++++++++++++++++ cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.conf | 76 ++++ .../ipsec-e2e/rgw2_ipsec_config/ipsec.secrets | 3 + cicd/ipsec-e2e/rmconfig.sh | 22 + cicd/ipsec-e2e/validation.sh | 61 +++ 18 files changed, 2167 insertions(+) create mode 100755 cicd/ipsec-e2e/config.sh create mode 100644 cicd/ipsec-e2e/lgw1_ipsec_config/charon.conf create mode 100644 cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.conf create mode 100644 cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.secrets create mode 100644 cicd/ipsec-e2e/llb1_ipsec_config/charon.conf create mode 100644 cicd/ipsec-e2e/llb1_ipsec_config/ipsec.conf create mode 100644 cicd/ipsec-e2e/llb1_ipsec_config/ipsec.secrets create mode 100644 cicd/ipsec-e2e/rgw1_ipsec_config/charon.conf create mode 100644 cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.conf create mode 100644 cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.secrets create mode 100644 cicd/ipsec-e2e/rgw2_ipsec_config/charon.conf create mode 100644 cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.conf create mode 100644 cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.secrets create mode 100755 cicd/ipsec-e2e/rmconfig.sh create mode 100755 cicd/ipsec-e2e/validation.sh diff --git a/.github/workflows/ipsec-sanity-rh9.yml b/.github/workflows/ipsec-sanity-rh9.yml index dae4a911f..826c36402 100644 --- a/.github/workflows/ipsec-sanity-rh9.yml +++ b/.github/workflows/ipsec-sanity-rh9.yml @@ -41,6 +41,12 @@ jobs: ./validation.sh ./rmconfig.sh cd - + - run: | + cd cicd/ipsec-e2e/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - - run: echo ${{ github.event.inputs.userInput }} - name: Clean test-bed if: success() || failure() diff --git a/.github/workflows/ipsec-sanity-ubuntu-22.yml b/.github/workflows/ipsec-sanity-ubuntu-22.yml index af07185c1..57f20a55f 100644 --- a/.github/workflows/ipsec-sanity-ubuntu-22.yml +++ b/.github/workflows/ipsec-sanity-ubuntu-22.yml @@ -65,4 +65,10 @@ jobs: ./validation.sh ./rmconfig.sh cd - + - run: | + cd cicd/ipsec-e2e/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - - run: echo ${{ github.event.inputs.userInput }} diff --git a/.github/workflows/ipsec-sanity.yml b/.github/workflows/ipsec-sanity.yml index ce467c4b6..3c72592a9 100644 --- a/.github/workflows/ipsec-sanity.yml +++ b/.github/workflows/ipsec-sanity.yml @@ -65,4 +65,10 @@ jobs: ./validation.sh ./rmconfig.sh cd - + - run: | + cd cicd/ipsec-e2e/ + ./config.sh + ./validation.sh + ./rmconfig.sh + cd - - run: echo ${{ github.event.inputs.userInput }} diff --git a/cicd/ipsec-e2e/config.sh b/cicd/ipsec-e2e/config.sh new file mode 100755 index 000000000..4994d916e --- /dev/null +++ b/cicd/ipsec-e2e/config.sh @@ -0,0 +1,149 @@ +#!/bin/bash +source ../common.sh + +echo "#########################################" +echo "Spawning all hosts" +echo "#########################################" + +spawn_docker_host --dock-type loxilb --dock-name lgw1 +spawn_docker_host --dock-type loxilb --dock-name llb1 +spawn_docker_host --dock-type loxilb --dock-name rgw1 +spawn_docker_host --dock-type loxilb --dock-name rgw2 +spawn_docker_host --dock-type host --dock-name lh1 +spawn_docker_host --dock-type host --dock-name rh1 +spawn_docker_host --dock-type host --dock-name rh2 + +$dexec lgw1 bash -c "apt-get update && apt-get install -y iputils-ping curl" +$dexec llb1 bash -c "apt-get update && apt-get install -y iputils-ping curl" +$dexec rgw1 bash -c "apt-get update && apt-get install -y iputils-ping curl" +$dexec rgw2 bash -c "apt-get update && apt-get install -y iputils-ping curl" + +echo "#########################################" +echo "Connecting and configuring hosts" +echo "#########################################" + +connect_docker_hosts lh1 lgw1 +connect_docker_hosts lgw1 llb1 +connect_docker_hosts llb1 rgw1 +connect_docker_hosts llb1 rgw2 +connect_docker_hosts rh1 rgw1 +connect_docker_hosts rh2 rgw2 + +config_docker_host --host1 lh1 --host2 lgw1 --ptype phy --addr 192.168.10.175/24 --gw 192.168.10.1 +config_docker_host --host1 lgw1 --host2 lh1 --ptype phy --addr 192.168.10.1/24 +config_docker_host --host1 lgw1 --host2 llb1 --ptype phy --addr 7.7.7.1/24 +config_docker_host --host1 llb1 --host2 lgw1 --ptype phy --addr 7.7.7.254/24 + +#Tunnel 1 +#xfrm Config(Left) +$dexec lgw1 ip link add vti100 type vti key 100 remote 7.7.7.254 local 7.7.7.1 +$dexec lgw1 ip link set vti100 up +$dexec lgw1 ip addr add 77.77.77.1/24 remote 77.77.77.254/24 dev vti100 +$dexec lgw1 sysctl -w "net.ipv4.conf.vti100.disable_policy=1" +$dexec lgw1 sysctl -w "net.ipv4.conf.elgw1lh1.proxy_arp=1" + +$dexec lgw1 ip route add 192.168.10.200/32 via 77.77.77.254 + +#xfrm Config(Right) +$dexec llb1 ip link add vti100 type vti key 100 remote 7.7.7.1 local 7.7.7.254 +$dexec llb1 ip link set vti100 up +$dexec llb1 ip addr add 77.77.77.254/24 remote 77.77.77.1/24 dev vti100 +$dexec llb1 sysctl -w "net.ipv4.conf.vti100.disable_policy=1" +#$dexec llb1 sysctl -w "net.ipv4.conf.ellb1lgw1.proxy_arp=1" + +$dexec llb1 ip addr add 192.168.10.200/32 dev lo +$dexec llb1 ip route add 192.168.10.175/32 via 77.77.77.1 dev vti100 +$dexec llb1 loxicmd create lb 192.168.10.200 --tcp=2020:8080 --endpoints=192.168.10.10:1,192.168.10.11:1 --mode=fullnat +$dexec llb1 loxicmd create ep 192.168.10.10 --name=192.168.10.10_tcp_2020 --probetype=none +$dexec llb1 loxicmd create ep 192.168.10.11 --name=192.168.10.11_tcp_2020 --probetype=none + +#Route towards Host(lh1) +$dexec llb1 ip route add 192.168.10.175/32 via 77.77.77.1 dev vti100 + + + +create_docker_host_vlan --host1 llb1 --host2 rgw1 --id 1000 --ptype untagged +create_docker_host_vlan --host1 llb1 --host2 rgw2 --id 1000 --ptype untagged + +config_docker_host --host1 rgw1 --host2 llb1 --ptype phy --addr 8.7.7.1/24 +config_docker_host --host1 rgw2 --host2 llb1 --ptype phy --addr 8.7.7.2/24 + +config_docker_host --host1 llb1 --host2 rgw1 --ptype vlan --id 1000 --addr 8.7.7.254/24 + +#Tunnel-2 + +#xfrm Config(Right) +$dexec llb1 ip link add vti200 type vti key 200 remote 8.7.7.1 local 8.7.7.254 +$dexec llb1 ip link set vti200 up +$dexec llb1 ip addr add 8.7.200.254/24 remote 8.7.200.1/24 dev vti200 +$dexec llb1 sysctl -w "net.ipv4.conf.vti200.disable_policy=1" + +#Route towards EP(rh1) +$dexec llb1 ip route add 192.168.10.10/32 via 8.7.200.1 dev vti200 + + +#xfrm Config(Left) +$dexec rgw1 ip link add vti200 type vti key 200 remote 8.7.7.254 local 8.7.7.1 +$dexec rgw1 ip link set vti200 up +$dexec rgw1 ip addr add 8.7.200.1/24 remote 8.7.200.254/24 dev vti200 +$dexec rgw1 sysctl -w "net.ipv4.conf.vti200.disable_policy=1" +$dexec rgw1 sysctl -w "net.ipv4.conf.ergw1rh1.proxy_arp=1" +#Route towards llb1 +$dexec rgw1 ip route add 192.168.10.200/32 via 8.7.200.254 + + +#Tunnel-3 + +#xfrm Config(Right) +$dexec llb1 ip link add vti201 type vti key 201 remote 8.7.7.2 local 8.7.7.254 +$dexec llb1 ip link set vti201 up +$dexec llb1 ip addr add 8.7.201.254/24 remote 8.7.201.1/24 dev vti201 +$dexec llb1 sysctl -w "net.ipv4.conf.vti201.disable_policy=1" + +#Route towards EP(rh2) +$dexec llb1 ip route add 192.168.10.11/32 via 8.7.201.1 dev vti201 + +$dexec rgw2 ip link add vti201 type vti key 201 remote 8.7.7.254 local 8.7.7.2 +$dexec rgw2 ip link set vti201 up +$dexec rgw2 ip addr add 8.7.201.1/24 remote 8.7.201.254/24 dev vti201 +$dexec rgw2 sysctl -w "net.ipv4.conf.vti201.disable_policy=1" +$dexec rgw2 sysctl -w "net.ipv4.conf.ergw2rh2.proxy_arp=1" +#Route towards llb1 +$dexec rgw2 ip route add 192.168.10.200/32 via 8.7.201.254 + + + +config_docker_host --host1 rgw1 --host2 rh1 --ptype phy --addr 192.168.10.2/24 +config_docker_host --host1 rh1 --host2 rgw1 --ptype phy --addr 192.168.10.10/24 --gw 192.168.10.2 + +config_docker_host --host1 rgw2 --host2 rh2 --ptype phy --addr 192.168.10.3/24 +config_docker_host --host1 rh2 --host2 rgw2 --ptype phy --addr 192.168.10.11/24 --gw 192.168.10.3 + +#$dexec lgw1 apt-get update +$dexec lgw1 apt-get install -y iptables strongswan strongswan-swanctl systemctl +docker cp lgw1_ipsec_config/ipsec.conf lgw1:/etc/ +docker cp lgw1_ipsec_config/ipsec.secrets lgw1:/etc/ +docker cp lgw1_ipsec_config/charon.conf lgw1:/etc/strongswan.d/ +$dexec lgw1 systemctl restart strongswan-starter + +#$dexec llb1 apt-get update +$dexec llb1 apt-get install -y strongswan strongswan-swanctl systemctl +docker cp llb1_ipsec_config/ipsec.conf llb1:/etc/ +docker cp llb1_ipsec_config/ipsec.secrets llb1:/etc/ +docker cp llb1_ipsec_config/charon.conf llb1:/etc/strongswan.d/ +$dexec llb1 systemctl restart strongswan-starter + +#$dexec rgw1 apt-get update +$dexec rgw1 apt-get install -y iptables strongswan strongswan-swanctl systemctl +docker cp rgw1_ipsec_config/ipsec.conf rgw1:/etc/ +docker cp rgw1_ipsec_config/ipsec.secrets rgw1:/etc/ +docker cp rgw1_ipsec_config/charon.conf rgw1:/etc/strongswan.d/ +$dexec rgw1 systemctl restart strongswan-starter + +#$dexec rgw2 apt-get update +$dexec rgw2 apt-get install -y iptables strongswan strongswan-swanctl systemctl +docker cp rgw2_ipsec_config/ipsec.conf rgw2:/etc/ +docker cp rgw2_ipsec_config/ipsec.secrets rgw2:/etc/ +docker cp rgw2_ipsec_config/charon.conf rgw2:/etc/strongswan.d/ +$dexec rgw2 systemctl restart strongswan-starter + diff --git a/cicd/ipsec-e2e/lgw1_ipsec_config/charon.conf b/cicd/ipsec-e2e/lgw1_ipsec_config/charon.conf new file mode 100644 index 000000000..926ae24aa --- /dev/null +++ b/cicd/ipsec-e2e/lgw1_ipsec_config/charon.conf @@ -0,0 +1,376 @@ +# Options for the charon IKE daemon. +charon { + + # Accept unencrypted ID and HASH payloads in IKEv1 Main Mode. + # accept_unencrypted_mainmode_messages = no + + # Maximum number of half-open IKE_SAs for a single peer IP. + # block_threshold = 5 + + # Whether Certificate Revocation Lists (CRLs) fetched via HTTP or LDAP + # should be saved under a unique file name derived from the public key of + # the Certification Authority (CA) to /etc/ipsec.d/crls (stroke) or + # /etc/swanctl/x509crl (vici), respectively. + # cache_crls = no + + # Whether relations in validated certificate chains should be cached in + # memory. + # cert_cache = yes + + # Send Cisco Unity vendor ID payload (IKEv1 only). + # cisco_unity = no + + # Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed. + # close_ike_on_child_failure = no + + # Number of half-open IKE_SAs that activate the cookie mechanism. + # cookie_threshold = 10 + + # Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only). + # delete_rekeyed = no + + # Delay in seconds until inbound IPsec SAs are deleted after rekeyings + # (IKEv2 only). + # delete_rekeyed_delay = 5 + + # Use ANSI X9.42 DH exponent size or optimum size matched to cryptographic + # strength. + # dh_exponent_ansi_x9_42 = yes + + # Use RTLD_NOW with dlopen when loading plugins and IMV/IMCs to reveal + # missing symbols immediately. + # dlopen_use_rtld_now = no + + # DNS server assigned to peer via configuration payload (CP). + # dns1 = + + # DNS server assigned to peer via configuration payload (CP). + # dns2 = + + # Enable Denial of Service protection using cookies and aggressiveness + # checks. + # dos_protection = yes + + # Compliance with the errata for RFC 4753. + # ecp_x_coordinate_only = yes + + # Free objects during authentication (might conflict with plugins). + # flush_auth_cfg = no + + # Whether to follow IKEv2 redirects (RFC 5685). + # follow_redirects = yes + + # Maximum size (complete IP datagram size in bytes) of a sent IKE fragment + # when using proprietary IKEv1 or standardized IKEv2 fragmentation, defaults + # to 1280 (use 0 for address family specific default values, which uses a + # lower value for IPv4). If specified this limit is used for both IPv4 and + # IPv6. + # fragment_size = 1280 + + # Name of the group the daemon changes to after startup. + # group = + + # Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING). + # half_open_timeout = 30 + + # Enable hash and URL support. + # hash_and_url = no + + # Allow IKEv1 Aggressive Mode with pre-shared keys as responder. + # i_dont_care_about_security_and_use_aggressive_mode_psk = no + + # Whether to ignore the traffic selectors from the kernel's acquire events + # for IKEv2 connections (they are not used for IKEv1). + # ignore_acquire_ts = no + + # A space-separated list of routing tables to be excluded from route + # lookups. + # ignore_routing_tables = + + # Maximum number of IKE_SAs that can be established at the same time before + # new connection attempts are blocked. + # ikesa_limit = 0 + + # Number of exclusively locked segments in the hash table. + # ikesa_table_segments = 1 + + # Size of the IKE_SA hash table. + # ikesa_table_size = 1 + + # Whether to close IKE_SA if the only CHILD_SA closed due to inactivity. + # inactivity_close_ike = no + + # Limit new connections based on the current number of half open IKE_SAs, + # see IKE_SA_INIT DROPPING in strongswan.conf(5). + # init_limit_half_open = 0 + + # Limit new connections based on the number of queued jobs. + # init_limit_job_load = 0 + + # Causes charon daemon to ignore IKE initiation requests. + # initiator_only = no + + # Install routes into a separate routing table for established IPsec + # tunnels. + install_routes = no + + # Install virtual IP addresses. + install_virtual_ip = no + + # The name of the interface on which virtual IP addresses should be + # installed. + # install_virtual_ip_on = + + # Check daemon, libstrongswan and plugin integrity at startup. + # integrity_test = no + + # A comma-separated list of network interfaces that should be ignored, if + # interfaces_use is specified this option has no effect. + # interfaces_ignore = + + # A comma-separated list of network interfaces that should be used by + # charon. All other interfaces are ignored. + # interfaces_use = + + # NAT keep alive interval. + # keep_alive = 20s + + # Plugins to load in the IKE daemon charon. + # load = + + # Determine plugins to load via each plugin's load option. + # load_modular = no + + # Initiate IKEv2 reauthentication with a make-before-break scheme. + # make_before_break = no + + # Maximum number of IKEv1 phase 2 exchanges per IKE_SA to keep state about + # and track concurrently. + # max_ikev1_exchanges = 3 + + # Maximum packet size accepted by charon. + # max_packet = 10000 + + # Enable multiple authentication exchanges (RFC 4739). + # multiple_authentication = yes + + # WINS servers assigned to peer via configuration payload (CP). + # nbns1 = + + # WINS servers assigned to peer via configuration payload (CP). + # nbns2 = + + # UDP port used locally. If set to 0 a random port will be allocated. + # port = 500 + + # UDP port used locally in case of NAT-T. If set to 0 a random port will be + # allocated. Has to be different from charon.port, otherwise a random port + # will be allocated. + # port_nat_t = 4500 + + # Whether to prefer updating SAs to the path with the best route. + # prefer_best_path = no + + # Prefer locally configured proposals for IKE/IPsec over supplied ones as + # responder (disabling this can avoid keying retries due to + # INVALID_KE_PAYLOAD notifies). + # prefer_configured_proposals = yes + + # Controls whether permanent or temporary IPv6 addresses are used as source, + # or announced as additional addresses if MOBIKE is used. + # prefer_temporary_addrs = no + + # Process RTM_NEWROUTE and RTM_DELROUTE events. + # process_route = yes + + # How RDNs in subject DNs of certificates are matched against configured + # identities (strict, reordered, or relaxed). + # rdn_matching = strict + + # Delay in ms for receiving packets, to simulate larger RTT. + # receive_delay = 0 + + # Delay request messages. + # receive_delay_request = yes + + # Delay response messages. + # receive_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # receive_delay_type = 0 + + # Size of the AH/ESP replay window, in packets. + # replay_window = 32 + + # Base to use for calculating exponential back off, see IKEv2 RETRANSMISSION + # in strongswan.conf(5). + # retransmit_base = 1.8 + + # Maximum jitter in percent to apply randomly to calculated retransmission + # timeout (0 to disable). + # retransmit_jitter = 0 + + # Upper limit in seconds for calculated retransmission timeout (0 to + # disable). + # retransmit_limit = 0 + + # Timeout in seconds before sending first retransmit. + # retransmit_timeout = 4.0 + + # Number of times to retransmit a packet before giving up. + # retransmit_tries = 5 + + # Interval in seconds to use when retrying to initiate an IKE_SA (e.g. if + # DNS resolution failed), 0 to disable retries. + # retry_initiate_interval = 0 + + # Initiate CHILD_SA within existing IKE_SAs (always enabled for IKEv1). + # reuse_ikesa = yes + + # Numerical routing table to install routes to. + # routing_table = + + # Priority of the routing table. + # routing_table_prio = + + # Whether to use RSA with PSS padding instead of PKCS#1 padding by default. + # rsa_pss = no + + # Delay in ms for sending packets, to simulate larger RTT. + # send_delay = 0 + + # Delay request messages. + # send_delay_request = yes + + # Delay response messages. + # send_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # send_delay_type = 0 + + # Send strongSwan vendor ID payload + # send_vendor_id = no + + # Whether to enable Signature Authentication as per RFC 7427. + # signature_authentication = yes + + # Whether to enable constraints against IKEv2 signature schemes. + # signature_authentication_constraints = yes + + # Value mixed into the local IKE SPIs after applying spi_mask. + # spi_label = 0x0000000000000000 + + # Mask applied to local IKE SPIs before mixing in spi_label (bits set will + # be replaced with spi_label). + # spi_mask = 0x0000000000000000 + + # The upper limit for SPIs requested from the kernel for IPsec SAs. + # spi_max = 0xcfffffff + + # The lower limit for SPIs requested from the kernel for IPsec SAs. + # spi_min = 0xc0000000 + + # Number of worker threads in charon. + # threads = 16 + + # Name of the user the daemon changes to after startup. + # user = + + crypto_test { + + # Benchmark crypto algorithms and order them by efficiency. + # bench = no + + # Buffer size used for crypto benchmark. + # bench_size = 1024 + + # Time in ms during which crypto algorithm performance is measured. + # bench_time = 50 + + # Test crypto algorithms during registration (requires test vectors + # provided by the test-vectors plugin). + # on_add = no + + # Test crypto algorithms on each crypto primitive instantiation. + # on_create = no + + # Strictly require at least one test vector to enable an algorithm. + # required = no + + # Whether to test RNG with TRUE quality; requires a lot of entropy. + # rng_true = no + + } + + host_resolver { + + # Maximum number of concurrent resolver threads (they are terminated if + # unused). + # max_threads = 3 + + # Minimum number of resolver threads to keep around. + # min_threads = 0 + + } + + leak_detective { + + # Includes source file names and line numbers in leak detective output. + # detailed = yes + + # Threshold in bytes for leaks to be reported (0 to report all). + # usage_threshold = 10240 + + # Threshold in number of allocations for leaks to be reported (0 to + # report all). + # usage_threshold_count = 0 + + } + + processor { + + # Section to configure the number of reserved threads per priority class + # see JOB PRIORITY MANAGEMENT in strongswan.conf(5). + priority_threads { + + } + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is started. + start-scripts { + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is terminated. + stop-scripts { + + } + + tls { + + # List of TLS encryption ciphers. + # cipher = + + # List of TLS key exchange methods. + # key_exchange = + + # List of TLS MAC algorithms. + # mac = + + # List of TLS cipher suites. + # suites = + + } + + x509 { + + # Discard certificates with unsupported or unknown critical extensions. + # enforce_critical = yes + + } + +} + diff --git a/cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.conf b/cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.conf new file mode 100644 index 000000000..c1314eb96 --- /dev/null +++ b/cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.conf @@ -0,0 +1,78 @@ +#@ /etc/strongswan/ipsec.conf (Centos) or /etc/ipsec.conf (Ubuntu) + +# ipsec.conf - strongSwan IPsec configuration file + +# basic configuration + +config setup + charondebug="cfg 2, ike 3" +# strictcrlpolicy=yes +# uniqueids = no + +# Add connections here. + +# Sample VPN connections + +#conn sample-self-signed +# leftsubnet=10.1.0.0/16 +# leftcert=selfCert.der +# leftsendcert=never +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightcert=peerCert.der +# auto=start + +#conn sample-with-ca-cert +# leftsubnet=10.1.0.0/16 +# leftcert=myCert.pem +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightid="C=CH, O=Linux strongSwan CN=peer name" +# auto=start + + +conn default + leftauth=psk + rightauth=psk + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : sha1 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + ike=aes256-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 28800 seconds + ikelifetime=28800s + # Phase 1 Negotiation Mode : main + aggressive=no + # Protocol : esp + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : hmac-sha1-96 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + esp=aes128-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 3600 seconds + lifetime=3600s + # Mode : tunnel + type=tunnel + # DPD Interval : 10 + dpddelay=10s + # DPD Retries : 3 + dpdtimeout=30s + # Tuning Parameters for AWS Virtual Private Gateway: + keyexchange=ikev2 + #keyingtries=%forever + rekey=yes + reauth=no + dpdaction=restart + closeaction=restart + #left=%defaultroute + #leftsubnet=0.0.0.0/0,::/0 + #rightsubnet=0.0.0.0/0,::/0 + leftsubnet=192.168.10.175 + rightsubnet=192.168.10.200 + #leftupdown=/etc/strongswan/ipsec-vti.sh + left=7.7.7.1 + right=7.7.7.254 + installpolicy=yes + compress=no + mobike=no + #VTI Key + mark=100 + auto=start diff --git a/cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.secrets b/cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.secrets new file mode 100644 index 000000000..318cc964a --- /dev/null +++ b/cicd/ipsec-e2e/lgw1_ipsec_config/ipsec.secrets @@ -0,0 +1,3 @@ +#@ /etc/strongswan/ipsec.secrets (Centos) or /etc/ipsec.secrets (Ubuntu) + +7.7.7.1 7.7.7.254 : PSK "loxilb@1234!" diff --git a/cicd/ipsec-e2e/llb1_ipsec_config/charon.conf b/cicd/ipsec-e2e/llb1_ipsec_config/charon.conf new file mode 100644 index 000000000..926ae24aa --- /dev/null +++ b/cicd/ipsec-e2e/llb1_ipsec_config/charon.conf @@ -0,0 +1,376 @@ +# Options for the charon IKE daemon. +charon { + + # Accept unencrypted ID and HASH payloads in IKEv1 Main Mode. + # accept_unencrypted_mainmode_messages = no + + # Maximum number of half-open IKE_SAs for a single peer IP. + # block_threshold = 5 + + # Whether Certificate Revocation Lists (CRLs) fetched via HTTP or LDAP + # should be saved under a unique file name derived from the public key of + # the Certification Authority (CA) to /etc/ipsec.d/crls (stroke) or + # /etc/swanctl/x509crl (vici), respectively. + # cache_crls = no + + # Whether relations in validated certificate chains should be cached in + # memory. + # cert_cache = yes + + # Send Cisco Unity vendor ID payload (IKEv1 only). + # cisco_unity = no + + # Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed. + # close_ike_on_child_failure = no + + # Number of half-open IKE_SAs that activate the cookie mechanism. + # cookie_threshold = 10 + + # Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only). + # delete_rekeyed = no + + # Delay in seconds until inbound IPsec SAs are deleted after rekeyings + # (IKEv2 only). + # delete_rekeyed_delay = 5 + + # Use ANSI X9.42 DH exponent size or optimum size matched to cryptographic + # strength. + # dh_exponent_ansi_x9_42 = yes + + # Use RTLD_NOW with dlopen when loading plugins and IMV/IMCs to reveal + # missing symbols immediately. + # dlopen_use_rtld_now = no + + # DNS server assigned to peer via configuration payload (CP). + # dns1 = + + # DNS server assigned to peer via configuration payload (CP). + # dns2 = + + # Enable Denial of Service protection using cookies and aggressiveness + # checks. + # dos_protection = yes + + # Compliance with the errata for RFC 4753. + # ecp_x_coordinate_only = yes + + # Free objects during authentication (might conflict with plugins). + # flush_auth_cfg = no + + # Whether to follow IKEv2 redirects (RFC 5685). + # follow_redirects = yes + + # Maximum size (complete IP datagram size in bytes) of a sent IKE fragment + # when using proprietary IKEv1 or standardized IKEv2 fragmentation, defaults + # to 1280 (use 0 for address family specific default values, which uses a + # lower value for IPv4). If specified this limit is used for both IPv4 and + # IPv6. + # fragment_size = 1280 + + # Name of the group the daemon changes to after startup. + # group = + + # Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING). + # half_open_timeout = 30 + + # Enable hash and URL support. + # hash_and_url = no + + # Allow IKEv1 Aggressive Mode with pre-shared keys as responder. + # i_dont_care_about_security_and_use_aggressive_mode_psk = no + + # Whether to ignore the traffic selectors from the kernel's acquire events + # for IKEv2 connections (they are not used for IKEv1). + # ignore_acquire_ts = no + + # A space-separated list of routing tables to be excluded from route + # lookups. + # ignore_routing_tables = + + # Maximum number of IKE_SAs that can be established at the same time before + # new connection attempts are blocked. + # ikesa_limit = 0 + + # Number of exclusively locked segments in the hash table. + # ikesa_table_segments = 1 + + # Size of the IKE_SA hash table. + # ikesa_table_size = 1 + + # Whether to close IKE_SA if the only CHILD_SA closed due to inactivity. + # inactivity_close_ike = no + + # Limit new connections based on the current number of half open IKE_SAs, + # see IKE_SA_INIT DROPPING in strongswan.conf(5). + # init_limit_half_open = 0 + + # Limit new connections based on the number of queued jobs. + # init_limit_job_load = 0 + + # Causes charon daemon to ignore IKE initiation requests. + # initiator_only = no + + # Install routes into a separate routing table for established IPsec + # tunnels. + install_routes = no + + # Install virtual IP addresses. + install_virtual_ip = no + + # The name of the interface on which virtual IP addresses should be + # installed. + # install_virtual_ip_on = + + # Check daemon, libstrongswan and plugin integrity at startup. + # integrity_test = no + + # A comma-separated list of network interfaces that should be ignored, if + # interfaces_use is specified this option has no effect. + # interfaces_ignore = + + # A comma-separated list of network interfaces that should be used by + # charon. All other interfaces are ignored. + # interfaces_use = + + # NAT keep alive interval. + # keep_alive = 20s + + # Plugins to load in the IKE daemon charon. + # load = + + # Determine plugins to load via each plugin's load option. + # load_modular = no + + # Initiate IKEv2 reauthentication with a make-before-break scheme. + # make_before_break = no + + # Maximum number of IKEv1 phase 2 exchanges per IKE_SA to keep state about + # and track concurrently. + # max_ikev1_exchanges = 3 + + # Maximum packet size accepted by charon. + # max_packet = 10000 + + # Enable multiple authentication exchanges (RFC 4739). + # multiple_authentication = yes + + # WINS servers assigned to peer via configuration payload (CP). + # nbns1 = + + # WINS servers assigned to peer via configuration payload (CP). + # nbns2 = + + # UDP port used locally. If set to 0 a random port will be allocated. + # port = 500 + + # UDP port used locally in case of NAT-T. If set to 0 a random port will be + # allocated. Has to be different from charon.port, otherwise a random port + # will be allocated. + # port_nat_t = 4500 + + # Whether to prefer updating SAs to the path with the best route. + # prefer_best_path = no + + # Prefer locally configured proposals for IKE/IPsec over supplied ones as + # responder (disabling this can avoid keying retries due to + # INVALID_KE_PAYLOAD notifies). + # prefer_configured_proposals = yes + + # Controls whether permanent or temporary IPv6 addresses are used as source, + # or announced as additional addresses if MOBIKE is used. + # prefer_temporary_addrs = no + + # Process RTM_NEWROUTE and RTM_DELROUTE events. + # process_route = yes + + # How RDNs in subject DNs of certificates are matched against configured + # identities (strict, reordered, or relaxed). + # rdn_matching = strict + + # Delay in ms for receiving packets, to simulate larger RTT. + # receive_delay = 0 + + # Delay request messages. + # receive_delay_request = yes + + # Delay response messages. + # receive_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # receive_delay_type = 0 + + # Size of the AH/ESP replay window, in packets. + # replay_window = 32 + + # Base to use for calculating exponential back off, see IKEv2 RETRANSMISSION + # in strongswan.conf(5). + # retransmit_base = 1.8 + + # Maximum jitter in percent to apply randomly to calculated retransmission + # timeout (0 to disable). + # retransmit_jitter = 0 + + # Upper limit in seconds for calculated retransmission timeout (0 to + # disable). + # retransmit_limit = 0 + + # Timeout in seconds before sending first retransmit. + # retransmit_timeout = 4.0 + + # Number of times to retransmit a packet before giving up. + # retransmit_tries = 5 + + # Interval in seconds to use when retrying to initiate an IKE_SA (e.g. if + # DNS resolution failed), 0 to disable retries. + # retry_initiate_interval = 0 + + # Initiate CHILD_SA within existing IKE_SAs (always enabled for IKEv1). + # reuse_ikesa = yes + + # Numerical routing table to install routes to. + # routing_table = + + # Priority of the routing table. + # routing_table_prio = + + # Whether to use RSA with PSS padding instead of PKCS#1 padding by default. + # rsa_pss = no + + # Delay in ms for sending packets, to simulate larger RTT. + # send_delay = 0 + + # Delay request messages. + # send_delay_request = yes + + # Delay response messages. + # send_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # send_delay_type = 0 + + # Send strongSwan vendor ID payload + # send_vendor_id = no + + # Whether to enable Signature Authentication as per RFC 7427. + # signature_authentication = yes + + # Whether to enable constraints against IKEv2 signature schemes. + # signature_authentication_constraints = yes + + # Value mixed into the local IKE SPIs after applying spi_mask. + # spi_label = 0x0000000000000000 + + # Mask applied to local IKE SPIs before mixing in spi_label (bits set will + # be replaced with spi_label). + # spi_mask = 0x0000000000000000 + + # The upper limit for SPIs requested from the kernel for IPsec SAs. + # spi_max = 0xcfffffff + + # The lower limit for SPIs requested from the kernel for IPsec SAs. + # spi_min = 0xc0000000 + + # Number of worker threads in charon. + # threads = 16 + + # Name of the user the daemon changes to after startup. + # user = + + crypto_test { + + # Benchmark crypto algorithms and order them by efficiency. + # bench = no + + # Buffer size used for crypto benchmark. + # bench_size = 1024 + + # Time in ms during which crypto algorithm performance is measured. + # bench_time = 50 + + # Test crypto algorithms during registration (requires test vectors + # provided by the test-vectors plugin). + # on_add = no + + # Test crypto algorithms on each crypto primitive instantiation. + # on_create = no + + # Strictly require at least one test vector to enable an algorithm. + # required = no + + # Whether to test RNG with TRUE quality; requires a lot of entropy. + # rng_true = no + + } + + host_resolver { + + # Maximum number of concurrent resolver threads (they are terminated if + # unused). + # max_threads = 3 + + # Minimum number of resolver threads to keep around. + # min_threads = 0 + + } + + leak_detective { + + # Includes source file names and line numbers in leak detective output. + # detailed = yes + + # Threshold in bytes for leaks to be reported (0 to report all). + # usage_threshold = 10240 + + # Threshold in number of allocations for leaks to be reported (0 to + # report all). + # usage_threshold_count = 0 + + } + + processor { + + # Section to configure the number of reserved threads per priority class + # see JOB PRIORITY MANAGEMENT in strongswan.conf(5). + priority_threads { + + } + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is started. + start-scripts { + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is terminated. + stop-scripts { + + } + + tls { + + # List of TLS encryption ciphers. + # cipher = + + # List of TLS key exchange methods. + # key_exchange = + + # List of TLS MAC algorithms. + # mac = + + # List of TLS cipher suites. + # suites = + + } + + x509 { + + # Discard certificates with unsupported or unknown critical extensions. + # enforce_critical = yes + + } + +} + diff --git a/cicd/ipsec-e2e/llb1_ipsec_config/ipsec.conf b/cicd/ipsec-e2e/llb1_ipsec_config/ipsec.conf new file mode 100644 index 000000000..785532f91 --- /dev/null +++ b/cicd/ipsec-e2e/llb1_ipsec_config/ipsec.conf @@ -0,0 +1,169 @@ +#@ /etc/strongswan/ipsec.conf (Centos) or /etc/ipsec.conf (Ubuntu) + +# ipsec.conf - strongSwan IPsec configuration file + +# basic configuration + +config setup + charondebug="cfg 2, ike 3" +# strictcrlpolicy=yes +# uniqueids = no + +# Add connections here. + +# Sample VPN connections + +#conn sample-self-signed +# leftsubnet=10.1.0.0/16 +# leftcert=selfCert.der +# leftsendcert=never +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightcert=peerCert.der +# auto=start + +#conn sample-with-ca-cert +# leftsubnet=10.1.0.0/16 +# leftcert=myCert.pem +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightid="C=CH, O=Linux strongSwan CN=peer name" +# auto=start + +conn llb1-to-lgw1 + leftauth=psk + rightauth=psk + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : sha1 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + ike=aes256-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 28800 seconds + ikelifetime=28800s + # Phase 1 Negotiation Mode : main + aggressive=no + # Protocol : esp + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : hmac-sha1-96 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + esp=aes128-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 3600 seconds + lifetime=3600s + # Mode : tunnel + type=tunnel + # DPD Interval : 10 + dpddelay=10s + # DPD Retries : 3 + dpdtimeout=30s + # Tuning Parameters for AWS Virtual Private Gateway: + keyexchange=ikev2 + #keyingtries=%forever + rekey=yes + reauth=no + dpdaction=restart + closeaction=restart + #left=%defaultroute + #leftsubnet=0.0.0.0/0,::/0 + #rightsubnet=0.0.0.0/0,::/0 + leftsubnet=192.168.10.200 + rightsubnet=192.168.10.175 + #leftupdown=/etc/strongswan/ipsec-vti.sh + left=7.7.7.254 + right=7.7.7.1 + installpolicy=yes + compress=no + mobike=no + #VTI Key + mark=100 + auto=start + +conn llb1-to-rgw1 + leftauth=psk + rightauth=psk + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : sha1 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + ike=aes256-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 28800 seconds + ikelifetime=28800s + # Phase 1 Negotiation Mode : main + aggressive=no + # Protocol : esp + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : hmac-sha1-96 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + esp=aes128-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 3600 seconds + lifetime=3600s + # Mode : tunnel + type=tunnel + # DPD Interval : 10 + dpddelay=10s + # DPD Retries : 3 + dpdtimeout=30s + # Tuning Parameters for AWS Virtual Private Gateway: + keyexchange=ikev2 + #keyingtries=%forever + rekey=yes + reauth=no + dpdaction=restart + closeaction=restart + #left=%defaultroute + #leftsubnet=0.0.0.0/0,::/0 + #rightsubnet=0.0.0.0/0,::/0 + leftsubnet=192.168.10.200 + rightsubnet=192.168.10.10 + #leftupdown=/etc/strongswan/ipsec-vti.sh + left=8.7.7.254 + right=8.7.7.1 + installpolicy=yes + compress=no + mobike=no + #VTI Key + mark=200 + auto=start + +conn llb1-to-rgw2 + leftauth=psk + rightauth=psk + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : sha1 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + ike=aes256-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 28800 seconds + ikelifetime=28800s + # Phase 1 Negotiation Mode : main + aggressive=no + # Protocol : esp + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : hmac-sha1-96 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + esp=aes128-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 3600 seconds + lifetime=3600s + # Mode : tunnel + type=tunnel + # DPD Interval : 10 + dpddelay=10s + # DPD Retries : 3 + dpdtimeout=30s + # Tuning Parameters for AWS Virtual Private Gateway: + keyexchange=ikev2 + #keyingtries=%forever + rekey=yes + reauth=no + dpdaction=restart + closeaction=restart + #left=%defaultroute + #leftsubnet=0.0.0.0/0,::/0 + #rightsubnet=0.0.0.0/0,::/0 + leftsubnet=192.168.10.200 + rightsubnet=192.168.10.11 + #leftupdown=/etc/strongswan/ipsec-vti.sh + left=8.7.7.254 + right=8.7.7.2 + installpolicy=yes + compress=no + mobike=no + #VTI Key + mark=201 + auto=start diff --git a/cicd/ipsec-e2e/llb1_ipsec_config/ipsec.secrets b/cicd/ipsec-e2e/llb1_ipsec_config/ipsec.secrets new file mode 100644 index 000000000..ff2e39071 --- /dev/null +++ b/cicd/ipsec-e2e/llb1_ipsec_config/ipsec.secrets @@ -0,0 +1,5 @@ +#@ /etc/strongswan/ipsec.secrets (Centos) or /etc/ipsec.secrets (Ubuntu) + +7.7.7.254 7.7.7.1 : PSK "loxilb@1234!" +8.7.7.254 8.7.7.1 : PSK "loxilb@1234!" +8.7.7.254 8.7.7.2 : PSK "loxilb@1234!" diff --git a/cicd/ipsec-e2e/rgw1_ipsec_config/charon.conf b/cicd/ipsec-e2e/rgw1_ipsec_config/charon.conf new file mode 100644 index 000000000..926ae24aa --- /dev/null +++ b/cicd/ipsec-e2e/rgw1_ipsec_config/charon.conf @@ -0,0 +1,376 @@ +# Options for the charon IKE daemon. +charon { + + # Accept unencrypted ID and HASH payloads in IKEv1 Main Mode. + # accept_unencrypted_mainmode_messages = no + + # Maximum number of half-open IKE_SAs for a single peer IP. + # block_threshold = 5 + + # Whether Certificate Revocation Lists (CRLs) fetched via HTTP or LDAP + # should be saved under a unique file name derived from the public key of + # the Certification Authority (CA) to /etc/ipsec.d/crls (stroke) or + # /etc/swanctl/x509crl (vici), respectively. + # cache_crls = no + + # Whether relations in validated certificate chains should be cached in + # memory. + # cert_cache = yes + + # Send Cisco Unity vendor ID payload (IKEv1 only). + # cisco_unity = no + + # Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed. + # close_ike_on_child_failure = no + + # Number of half-open IKE_SAs that activate the cookie mechanism. + # cookie_threshold = 10 + + # Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only). + # delete_rekeyed = no + + # Delay in seconds until inbound IPsec SAs are deleted after rekeyings + # (IKEv2 only). + # delete_rekeyed_delay = 5 + + # Use ANSI X9.42 DH exponent size or optimum size matched to cryptographic + # strength. + # dh_exponent_ansi_x9_42 = yes + + # Use RTLD_NOW with dlopen when loading plugins and IMV/IMCs to reveal + # missing symbols immediately. + # dlopen_use_rtld_now = no + + # DNS server assigned to peer via configuration payload (CP). + # dns1 = + + # DNS server assigned to peer via configuration payload (CP). + # dns2 = + + # Enable Denial of Service protection using cookies and aggressiveness + # checks. + # dos_protection = yes + + # Compliance with the errata for RFC 4753. + # ecp_x_coordinate_only = yes + + # Free objects during authentication (might conflict with plugins). + # flush_auth_cfg = no + + # Whether to follow IKEv2 redirects (RFC 5685). + # follow_redirects = yes + + # Maximum size (complete IP datagram size in bytes) of a sent IKE fragment + # when using proprietary IKEv1 or standardized IKEv2 fragmentation, defaults + # to 1280 (use 0 for address family specific default values, which uses a + # lower value for IPv4). If specified this limit is used for both IPv4 and + # IPv6. + # fragment_size = 1280 + + # Name of the group the daemon changes to after startup. + # group = + + # Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING). + # half_open_timeout = 30 + + # Enable hash and URL support. + # hash_and_url = no + + # Allow IKEv1 Aggressive Mode with pre-shared keys as responder. + # i_dont_care_about_security_and_use_aggressive_mode_psk = no + + # Whether to ignore the traffic selectors from the kernel's acquire events + # for IKEv2 connections (they are not used for IKEv1). + # ignore_acquire_ts = no + + # A space-separated list of routing tables to be excluded from route + # lookups. + # ignore_routing_tables = + + # Maximum number of IKE_SAs that can be established at the same time before + # new connection attempts are blocked. + # ikesa_limit = 0 + + # Number of exclusively locked segments in the hash table. + # ikesa_table_segments = 1 + + # Size of the IKE_SA hash table. + # ikesa_table_size = 1 + + # Whether to close IKE_SA if the only CHILD_SA closed due to inactivity. + # inactivity_close_ike = no + + # Limit new connections based on the current number of half open IKE_SAs, + # see IKE_SA_INIT DROPPING in strongswan.conf(5). + # init_limit_half_open = 0 + + # Limit new connections based on the number of queued jobs. + # init_limit_job_load = 0 + + # Causes charon daemon to ignore IKE initiation requests. + # initiator_only = no + + # Install routes into a separate routing table for established IPsec + # tunnels. + install_routes = no + + # Install virtual IP addresses. + install_virtual_ip = no + + # The name of the interface on which virtual IP addresses should be + # installed. + # install_virtual_ip_on = + + # Check daemon, libstrongswan and plugin integrity at startup. + # integrity_test = no + + # A comma-separated list of network interfaces that should be ignored, if + # interfaces_use is specified this option has no effect. + # interfaces_ignore = + + # A comma-separated list of network interfaces that should be used by + # charon. All other interfaces are ignored. + # interfaces_use = + + # NAT keep alive interval. + # keep_alive = 20s + + # Plugins to load in the IKE daemon charon. + # load = + + # Determine plugins to load via each plugin's load option. + # load_modular = no + + # Initiate IKEv2 reauthentication with a make-before-break scheme. + # make_before_break = no + + # Maximum number of IKEv1 phase 2 exchanges per IKE_SA to keep state about + # and track concurrently. + # max_ikev1_exchanges = 3 + + # Maximum packet size accepted by charon. + # max_packet = 10000 + + # Enable multiple authentication exchanges (RFC 4739). + # multiple_authentication = yes + + # WINS servers assigned to peer via configuration payload (CP). + # nbns1 = + + # WINS servers assigned to peer via configuration payload (CP). + # nbns2 = + + # UDP port used locally. If set to 0 a random port will be allocated. + # port = 500 + + # UDP port used locally in case of NAT-T. If set to 0 a random port will be + # allocated. Has to be different from charon.port, otherwise a random port + # will be allocated. + # port_nat_t = 4500 + + # Whether to prefer updating SAs to the path with the best route. + # prefer_best_path = no + + # Prefer locally configured proposals for IKE/IPsec over supplied ones as + # responder (disabling this can avoid keying retries due to + # INVALID_KE_PAYLOAD notifies). + # prefer_configured_proposals = yes + + # Controls whether permanent or temporary IPv6 addresses are used as source, + # or announced as additional addresses if MOBIKE is used. + # prefer_temporary_addrs = no + + # Process RTM_NEWROUTE and RTM_DELROUTE events. + # process_route = yes + + # How RDNs in subject DNs of certificates are matched against configured + # identities (strict, reordered, or relaxed). + # rdn_matching = strict + + # Delay in ms for receiving packets, to simulate larger RTT. + # receive_delay = 0 + + # Delay request messages. + # receive_delay_request = yes + + # Delay response messages. + # receive_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # receive_delay_type = 0 + + # Size of the AH/ESP replay window, in packets. + # replay_window = 32 + + # Base to use for calculating exponential back off, see IKEv2 RETRANSMISSION + # in strongswan.conf(5). + # retransmit_base = 1.8 + + # Maximum jitter in percent to apply randomly to calculated retransmission + # timeout (0 to disable). + # retransmit_jitter = 0 + + # Upper limit in seconds for calculated retransmission timeout (0 to + # disable). + # retransmit_limit = 0 + + # Timeout in seconds before sending first retransmit. + # retransmit_timeout = 4.0 + + # Number of times to retransmit a packet before giving up. + # retransmit_tries = 5 + + # Interval in seconds to use when retrying to initiate an IKE_SA (e.g. if + # DNS resolution failed), 0 to disable retries. + # retry_initiate_interval = 0 + + # Initiate CHILD_SA within existing IKE_SAs (always enabled for IKEv1). + # reuse_ikesa = yes + + # Numerical routing table to install routes to. + # routing_table = + + # Priority of the routing table. + # routing_table_prio = + + # Whether to use RSA with PSS padding instead of PKCS#1 padding by default. + # rsa_pss = no + + # Delay in ms for sending packets, to simulate larger RTT. + # send_delay = 0 + + # Delay request messages. + # send_delay_request = yes + + # Delay response messages. + # send_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # send_delay_type = 0 + + # Send strongSwan vendor ID payload + # send_vendor_id = no + + # Whether to enable Signature Authentication as per RFC 7427. + # signature_authentication = yes + + # Whether to enable constraints against IKEv2 signature schemes. + # signature_authentication_constraints = yes + + # Value mixed into the local IKE SPIs after applying spi_mask. + # spi_label = 0x0000000000000000 + + # Mask applied to local IKE SPIs before mixing in spi_label (bits set will + # be replaced with spi_label). + # spi_mask = 0x0000000000000000 + + # The upper limit for SPIs requested from the kernel for IPsec SAs. + # spi_max = 0xcfffffff + + # The lower limit for SPIs requested from the kernel for IPsec SAs. + # spi_min = 0xc0000000 + + # Number of worker threads in charon. + # threads = 16 + + # Name of the user the daemon changes to after startup. + # user = + + crypto_test { + + # Benchmark crypto algorithms and order them by efficiency. + # bench = no + + # Buffer size used for crypto benchmark. + # bench_size = 1024 + + # Time in ms during which crypto algorithm performance is measured. + # bench_time = 50 + + # Test crypto algorithms during registration (requires test vectors + # provided by the test-vectors plugin). + # on_add = no + + # Test crypto algorithms on each crypto primitive instantiation. + # on_create = no + + # Strictly require at least one test vector to enable an algorithm. + # required = no + + # Whether to test RNG with TRUE quality; requires a lot of entropy. + # rng_true = no + + } + + host_resolver { + + # Maximum number of concurrent resolver threads (they are terminated if + # unused). + # max_threads = 3 + + # Minimum number of resolver threads to keep around. + # min_threads = 0 + + } + + leak_detective { + + # Includes source file names and line numbers in leak detective output. + # detailed = yes + + # Threshold in bytes for leaks to be reported (0 to report all). + # usage_threshold = 10240 + + # Threshold in number of allocations for leaks to be reported (0 to + # report all). + # usage_threshold_count = 0 + + } + + processor { + + # Section to configure the number of reserved threads per priority class + # see JOB PRIORITY MANAGEMENT in strongswan.conf(5). + priority_threads { + + } + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is started. + start-scripts { + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is terminated. + stop-scripts { + + } + + tls { + + # List of TLS encryption ciphers. + # cipher = + + # List of TLS key exchange methods. + # key_exchange = + + # List of TLS MAC algorithms. + # mac = + + # List of TLS cipher suites. + # suites = + + } + + x509 { + + # Discard certificates with unsupported or unknown critical extensions. + # enforce_critical = yes + + } + +} + diff --git a/cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.conf b/cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.conf new file mode 100644 index 000000000..43da92c53 --- /dev/null +++ b/cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.conf @@ -0,0 +1,76 @@ +#@ /etc/strongswan/ipsec.conf (Centos) or /etc/ipsec.conf (Ubuntu) + +# ipsec.conf - strongSwan IPsec configuration file + +# basic configuration + +config setup + charondebug="cfg 2, ike 3" +# strictcrlpolicy=yes +# uniqueids = no + +# Add connections here. + +# Sample VPN connections + +#conn sample-self-signed +# leftsubnet=10.1.0.0/16 +# leftcert=selfCert.der +# leftsendcert=never +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightcert=peerCert.der +# auto=start + +#conn sample-with-ca-cert +# leftsubnet=10.1.0.0/16 +# leftcert=myCert.pem +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightid="C=CH, O=Linux strongSwan CN=peer name" +# auto=start + + +conn rgw1-to-llb1 + leftauth=psk + rightauth=psk + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : sha1 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + ike=aes256-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 28800 seconds + ikelifetime=28800s + # Phase 1 Negotiation Mode : main + aggressive=no + # Protocol : esp + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : hmac-sha1-96 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + esp=aes128-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 3600 seconds + lifetime=3600s + # Mode : tunnel + type=tunnel + # DPD Interval : 10 + dpddelay=10s + # DPD Retries : 3 + dpdtimeout=30s + # Tuning Parameters for AWS Virtual Private Gateway: + keyexchange=ikev2 + #keyingtries=%forever + rekey=yes + reauth=no + dpdaction=restart + closeaction=restart + #left=%defaultroute + leftsubnet=192.168.10.10 + rightsubnet=192.168.10.200 + #leftupdown=/etc/strongswan/ipsec-vti.sh + left=8.7.7.1 + right=8.7.7.254 + installpolicy=yes + compress=no + mobike=no + #VTI Key + mark=200 + auto=start diff --git a/cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.secrets b/cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.secrets new file mode 100644 index 000000000..4e71446d5 --- /dev/null +++ b/cicd/ipsec-e2e/rgw1_ipsec_config/ipsec.secrets @@ -0,0 +1,3 @@ +#@ /etc/strongswan/ipsec.secrets (Centos) or /etc/ipsec.secrets (Ubuntu) + +8.7.7.1 8.7.7.254 : PSK "loxilb@1234!" diff --git a/cicd/ipsec-e2e/rgw2_ipsec_config/charon.conf b/cicd/ipsec-e2e/rgw2_ipsec_config/charon.conf new file mode 100644 index 000000000..926ae24aa --- /dev/null +++ b/cicd/ipsec-e2e/rgw2_ipsec_config/charon.conf @@ -0,0 +1,376 @@ +# Options for the charon IKE daemon. +charon { + + # Accept unencrypted ID and HASH payloads in IKEv1 Main Mode. + # accept_unencrypted_mainmode_messages = no + + # Maximum number of half-open IKE_SAs for a single peer IP. + # block_threshold = 5 + + # Whether Certificate Revocation Lists (CRLs) fetched via HTTP or LDAP + # should be saved under a unique file name derived from the public key of + # the Certification Authority (CA) to /etc/ipsec.d/crls (stroke) or + # /etc/swanctl/x509crl (vici), respectively. + # cache_crls = no + + # Whether relations in validated certificate chains should be cached in + # memory. + # cert_cache = yes + + # Send Cisco Unity vendor ID payload (IKEv1 only). + # cisco_unity = no + + # Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed. + # close_ike_on_child_failure = no + + # Number of half-open IKE_SAs that activate the cookie mechanism. + # cookie_threshold = 10 + + # Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only). + # delete_rekeyed = no + + # Delay in seconds until inbound IPsec SAs are deleted after rekeyings + # (IKEv2 only). + # delete_rekeyed_delay = 5 + + # Use ANSI X9.42 DH exponent size or optimum size matched to cryptographic + # strength. + # dh_exponent_ansi_x9_42 = yes + + # Use RTLD_NOW with dlopen when loading plugins and IMV/IMCs to reveal + # missing symbols immediately. + # dlopen_use_rtld_now = no + + # DNS server assigned to peer via configuration payload (CP). + # dns1 = + + # DNS server assigned to peer via configuration payload (CP). + # dns2 = + + # Enable Denial of Service protection using cookies and aggressiveness + # checks. + # dos_protection = yes + + # Compliance with the errata for RFC 4753. + # ecp_x_coordinate_only = yes + + # Free objects during authentication (might conflict with plugins). + # flush_auth_cfg = no + + # Whether to follow IKEv2 redirects (RFC 5685). + # follow_redirects = yes + + # Maximum size (complete IP datagram size in bytes) of a sent IKE fragment + # when using proprietary IKEv1 or standardized IKEv2 fragmentation, defaults + # to 1280 (use 0 for address family specific default values, which uses a + # lower value for IPv4). If specified this limit is used for both IPv4 and + # IPv6. + # fragment_size = 1280 + + # Name of the group the daemon changes to after startup. + # group = + + # Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING). + # half_open_timeout = 30 + + # Enable hash and URL support. + # hash_and_url = no + + # Allow IKEv1 Aggressive Mode with pre-shared keys as responder. + # i_dont_care_about_security_and_use_aggressive_mode_psk = no + + # Whether to ignore the traffic selectors from the kernel's acquire events + # for IKEv2 connections (they are not used for IKEv1). + # ignore_acquire_ts = no + + # A space-separated list of routing tables to be excluded from route + # lookups. + # ignore_routing_tables = + + # Maximum number of IKE_SAs that can be established at the same time before + # new connection attempts are blocked. + # ikesa_limit = 0 + + # Number of exclusively locked segments in the hash table. + # ikesa_table_segments = 1 + + # Size of the IKE_SA hash table. + # ikesa_table_size = 1 + + # Whether to close IKE_SA if the only CHILD_SA closed due to inactivity. + # inactivity_close_ike = no + + # Limit new connections based on the current number of half open IKE_SAs, + # see IKE_SA_INIT DROPPING in strongswan.conf(5). + # init_limit_half_open = 0 + + # Limit new connections based on the number of queued jobs. + # init_limit_job_load = 0 + + # Causes charon daemon to ignore IKE initiation requests. + # initiator_only = no + + # Install routes into a separate routing table for established IPsec + # tunnels. + install_routes = no + + # Install virtual IP addresses. + install_virtual_ip = no + + # The name of the interface on which virtual IP addresses should be + # installed. + # install_virtual_ip_on = + + # Check daemon, libstrongswan and plugin integrity at startup. + # integrity_test = no + + # A comma-separated list of network interfaces that should be ignored, if + # interfaces_use is specified this option has no effect. + # interfaces_ignore = + + # A comma-separated list of network interfaces that should be used by + # charon. All other interfaces are ignored. + # interfaces_use = + + # NAT keep alive interval. + # keep_alive = 20s + + # Plugins to load in the IKE daemon charon. + # load = + + # Determine plugins to load via each plugin's load option. + # load_modular = no + + # Initiate IKEv2 reauthentication with a make-before-break scheme. + # make_before_break = no + + # Maximum number of IKEv1 phase 2 exchanges per IKE_SA to keep state about + # and track concurrently. + # max_ikev1_exchanges = 3 + + # Maximum packet size accepted by charon. + # max_packet = 10000 + + # Enable multiple authentication exchanges (RFC 4739). + # multiple_authentication = yes + + # WINS servers assigned to peer via configuration payload (CP). + # nbns1 = + + # WINS servers assigned to peer via configuration payload (CP). + # nbns2 = + + # UDP port used locally. If set to 0 a random port will be allocated. + # port = 500 + + # UDP port used locally in case of NAT-T. If set to 0 a random port will be + # allocated. Has to be different from charon.port, otherwise a random port + # will be allocated. + # port_nat_t = 4500 + + # Whether to prefer updating SAs to the path with the best route. + # prefer_best_path = no + + # Prefer locally configured proposals for IKE/IPsec over supplied ones as + # responder (disabling this can avoid keying retries due to + # INVALID_KE_PAYLOAD notifies). + # prefer_configured_proposals = yes + + # Controls whether permanent or temporary IPv6 addresses are used as source, + # or announced as additional addresses if MOBIKE is used. + # prefer_temporary_addrs = no + + # Process RTM_NEWROUTE and RTM_DELROUTE events. + # process_route = yes + + # How RDNs in subject DNs of certificates are matched against configured + # identities (strict, reordered, or relaxed). + # rdn_matching = strict + + # Delay in ms for receiving packets, to simulate larger RTT. + # receive_delay = 0 + + # Delay request messages. + # receive_delay_request = yes + + # Delay response messages. + # receive_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # receive_delay_type = 0 + + # Size of the AH/ESP replay window, in packets. + # replay_window = 32 + + # Base to use for calculating exponential back off, see IKEv2 RETRANSMISSION + # in strongswan.conf(5). + # retransmit_base = 1.8 + + # Maximum jitter in percent to apply randomly to calculated retransmission + # timeout (0 to disable). + # retransmit_jitter = 0 + + # Upper limit in seconds for calculated retransmission timeout (0 to + # disable). + # retransmit_limit = 0 + + # Timeout in seconds before sending first retransmit. + # retransmit_timeout = 4.0 + + # Number of times to retransmit a packet before giving up. + # retransmit_tries = 5 + + # Interval in seconds to use when retrying to initiate an IKE_SA (e.g. if + # DNS resolution failed), 0 to disable retries. + # retry_initiate_interval = 0 + + # Initiate CHILD_SA within existing IKE_SAs (always enabled for IKEv1). + # reuse_ikesa = yes + + # Numerical routing table to install routes to. + # routing_table = + + # Priority of the routing table. + # routing_table_prio = + + # Whether to use RSA with PSS padding instead of PKCS#1 padding by default. + # rsa_pss = no + + # Delay in ms for sending packets, to simulate larger RTT. + # send_delay = 0 + + # Delay request messages. + # send_delay_request = yes + + # Delay response messages. + # send_delay_response = yes + + # Specific IKEv2 message type to delay, 0 for any. + # send_delay_type = 0 + + # Send strongSwan vendor ID payload + # send_vendor_id = no + + # Whether to enable Signature Authentication as per RFC 7427. + # signature_authentication = yes + + # Whether to enable constraints against IKEv2 signature schemes. + # signature_authentication_constraints = yes + + # Value mixed into the local IKE SPIs after applying spi_mask. + # spi_label = 0x0000000000000000 + + # Mask applied to local IKE SPIs before mixing in spi_label (bits set will + # be replaced with spi_label). + # spi_mask = 0x0000000000000000 + + # The upper limit for SPIs requested from the kernel for IPsec SAs. + # spi_max = 0xcfffffff + + # The lower limit for SPIs requested from the kernel for IPsec SAs. + # spi_min = 0xc0000000 + + # Number of worker threads in charon. + # threads = 16 + + # Name of the user the daemon changes to after startup. + # user = + + crypto_test { + + # Benchmark crypto algorithms and order them by efficiency. + # bench = no + + # Buffer size used for crypto benchmark. + # bench_size = 1024 + + # Time in ms during which crypto algorithm performance is measured. + # bench_time = 50 + + # Test crypto algorithms during registration (requires test vectors + # provided by the test-vectors plugin). + # on_add = no + + # Test crypto algorithms on each crypto primitive instantiation. + # on_create = no + + # Strictly require at least one test vector to enable an algorithm. + # required = no + + # Whether to test RNG with TRUE quality; requires a lot of entropy. + # rng_true = no + + } + + host_resolver { + + # Maximum number of concurrent resolver threads (they are terminated if + # unused). + # max_threads = 3 + + # Minimum number of resolver threads to keep around. + # min_threads = 0 + + } + + leak_detective { + + # Includes source file names and line numbers in leak detective output. + # detailed = yes + + # Threshold in bytes for leaks to be reported (0 to report all). + # usage_threshold = 10240 + + # Threshold in number of allocations for leaks to be reported (0 to + # report all). + # usage_threshold_count = 0 + + } + + processor { + + # Section to configure the number of reserved threads per priority class + # see JOB PRIORITY MANAGEMENT in strongswan.conf(5). + priority_threads { + + } + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is started. + start-scripts { + + } + + # Section containing a list of scripts (name = path) that are executed when + # the daemon is terminated. + stop-scripts { + + } + + tls { + + # List of TLS encryption ciphers. + # cipher = + + # List of TLS key exchange methods. + # key_exchange = + + # List of TLS MAC algorithms. + # mac = + + # List of TLS cipher suites. + # suites = + + } + + x509 { + + # Discard certificates with unsupported or unknown critical extensions. + # enforce_critical = yes + + } + +} + diff --git a/cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.conf b/cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.conf new file mode 100644 index 000000000..f173a905a --- /dev/null +++ b/cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.conf @@ -0,0 +1,76 @@ +#@ /etc/strongswan/ipsec.conf (Centos) or /etc/ipsec.conf (Ubuntu) + +# ipsec.conf - strongSwan IPsec configuration file + +# basic configuration + +config setup + charondebug="cfg 2, ike 3" +# strictcrlpolicy=yes +# uniqueids = no + +# Add connections here. + +# Sample VPN connections + +#conn sample-self-signed +# leftsubnet=10.1.0.0/16 +# leftcert=selfCert.der +# leftsendcert=never +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightcert=peerCert.der +# auto=start + +#conn sample-with-ca-cert +# leftsubnet=10.1.0.0/16 +# leftcert=myCert.pem +# right=192.168.0.2 +# rightsubnet=10.2.0.0/16 +# rightid="C=CH, O=Linux strongSwan CN=peer name" +# auto=start + + +conn rgw2-to-llb1 + leftauth=psk + rightauth=psk + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : sha1 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + ike=aes256-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 28800 seconds + ikelifetime=28800s + # Phase 1 Negotiation Mode : main + aggressive=no + # Protocol : esp + # Encryption Algorithm : aes-128-cbc + # Authentication Algorithm : hmac-sha1-96 + # Perfect Forward Secrecy : Diffie-Hellman Group 2 + esp=aes128-sha256-modp2048s256,aes128-sha1-modp1024! + # Lifetime : 3600 seconds + lifetime=3600s + # Mode : tunnel + type=tunnel + # DPD Interval : 10 + dpddelay=10s + # DPD Retries : 3 + dpdtimeout=30s + # Tuning Parameters for AWS Virtual Private Gateway: + keyexchange=ikev2 + #keyingtries=%forever + rekey=yes + reauth=no + dpdaction=restart + closeaction=restart + #left=%defaultroute + leftsubnet=192.168.10.11 + rightsubnet=192.168.10.200 + #leftupdown=/etc/strongswan/ipsec-vti.sh + left=8.7.7.2 + right=8.7.7.254 + installpolicy=yes + compress=no + mobike=no + #VTI Key + mark=201 + auto=start diff --git a/cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.secrets b/cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.secrets new file mode 100644 index 000000000..b24a6b9b2 --- /dev/null +++ b/cicd/ipsec-e2e/rgw2_ipsec_config/ipsec.secrets @@ -0,0 +1,3 @@ +#@ /etc/strongswan/ipsec.secrets (Centos) or /etc/ipsec.secrets (Ubuntu) + +8.7.7.2 8.7.7.254 : PSK "loxilb@1234!" diff --git a/cicd/ipsec-e2e/rmconfig.sh b/cicd/ipsec-e2e/rmconfig.sh new file mode 100755 index 000000000..a74060485 --- /dev/null +++ b/cicd/ipsec-e2e/rmconfig.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +source ../common.sh + +disconnect_docker_hosts lh1 lgw1 +disconnect_docker_hosts lgw1 llb1 +disconnect_docker_hosts llb1 rgw1 +disconnect_docker_hosts llb1 rgw2 +disconnect_docker_hosts rgw1 rh1 +disconnect_docker_hosts rgw2 rh2 + +delete_docker_host llb1 +delete_docker_host lgw1 +delete_docker_host rgw1 +delete_docker_host rgw2 +delete_docker_host lh1 +delete_docker_host rh1 +delete_docker_host rh2 + +echo "#########################################" +echo "Deleted testbed" +echo "#########################################" diff --git a/cicd/ipsec-e2e/validation.sh b/cicd/ipsec-e2e/validation.sh new file mode 100755 index 000000000..e28b28d10 --- /dev/null +++ b/cicd/ipsec-e2e/validation.sh @@ -0,0 +1,61 @@ +#!/bin/bash +source ../common.sh +echo IPSEC-e2e +$hexec rh1 node ../common/tcp_server.js server1 & +$hexec rh2 node ../common/tcp_server.js server2 & + +sleep 2 +lgw1_rx1=`$hexec lgw1 ifconfig vti100 | grep "RX packets" | cut -d " " -f 11` +lgw1_tx1=`$hexec lgw1 ifconfig vti100 | grep "TX packets" | cut -d " " -f 11` +llb1_rx1=`$hexec llb1 ifconfig vti100 | grep "RX packets" | cut -d " " -f 11` +llb1_tx1=`$hexec llb1 ifconfig vti100 | grep "TX packets" | cut -d " " -f 11` +llb1_rx2=`$hexec llb1 ifconfig vti200 | grep "RX packets" | cut -d " " -f 11` +llb1_tx2=`$hexec llb1 ifconfig vti200 | grep "TX packets" | cut -d " " -f 11` +llb1_rx3=`$hexec llb1 ifconfig vti201 | grep "RX packets" | cut -d " " -f 11` +llb1_tx3=`$hexec llb1 ifconfig vti201 | grep "TX packets" | cut -d " " -f 11` + +rgw1_rx1=`$hexec rgw1 ifconfig vti200 | grep "RX packets" | cut -d " " -f 11` +rgw1_tx1=`$hexec rgw1 ifconfig vti200 | grep "TX packets" | cut -d " " -f 11` +rgw2_rx1=`$hexec rgw2 ifconfig vti201 | grep "RX packets" | cut -d " " -f 11` +rgw2_tx1=`$hexec rgw2 ifconfig vti201 | grep "TX packets" | cut -d " " -f 11` + +code=0 +servArr=( "server1" "server2" ) +vip=( "192.168.10.200" ) + +for j in {0..3} +do +for i in {0..1} +do + res=`$hexec lh1 curl --max-time 10 -s http://${vip[0]}:2020` + echo -e $res + if [[ "x$res" != "x${servArr[$i]}" ]] + then + echo -e "Expected ${servArr[$i]}, Received : $res" + if [[ "$res" != *"server"* ]]; + then + echo "lgw1 ct" + $dexec lgw1 loxicmd get ct + echo "llb1 ct" + $dexec llb1 loxicmd get ct + echo "rgw1 ct" + $dexec rgw1 loxicmd get ct + echo "rgw2 ct" + $dexec rgw2 loxicmd get ct + echo "llb1 ip neigh" + $dexec llb1 ip neigh + fi + code=1 + fi + sleep 1 +done +done +if [[ $code == 0 ]] +then + echo IPSEC-3 [OK] +else + echo IPSEC-3 [FAILED] +fi +sudo pkill node +exit $code + From 0d093e69081949a161fab66983b8a4efdde7c31d Mon Sep 17 00:00:00 2001 From: Trekkie <111065900+TrekkieCoder@users.noreply.github.com> Date: Thu, 1 Aug 2024 21:06:29 +0900 Subject: [PATCH 087/171] chore: Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81bfd2441..8798f3187 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Additionally, loxilb also supports: - [ ] Kubernetes Network Policies ## Telco-Cloud with loxilb -For deploying telco-cloud with cloud-native functions, loxilb can be used as a SCP(service communication proxy). SCP is a communication proxy defined by [3GPP](https://www.etsi.org/deliver/etsi_ts/129500_129599/129500/16.04.00_60/ts_129500v160400p.pdf) and aimed at telco micro-services running in cloud-native environment. Read more in this [blog](https://dev.to/nikhilmalik/5g-service-communication-proxy-with-loxilb-4242) +For deploying telco-cloud with cloud-native functions, loxilb can be used as an enhanced SCP(service communication proxy). SCP is a communication proxy defined by [3GPP](https://www.etsi.org/deliver/etsi_ts/129500_129599/129500/16.04.00_60/ts_129500v160400p.pdf) and aimed at telco micro-services running in cloud-native environment. Read more in this [blog](https://dev.to/nikhilmalik/5g-service-communication-proxy-with-loxilb-4242) ![image](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/photos/scp.svg) Telco-cloud requires load-balancing and communication across various interfaces/standards like N2, N4, E2(ORAN), S6x, 5GLAN, GTP etc. Each of these present its own unique challenges which loxilb aims to solve e.g.: From 7ddd4d37e24714d53fd7753fcc1ac039a3cffa9d Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Mon, 5 Aug 2024 11:08:07 +0900 Subject: [PATCH 088/171] Update ADOPTERS.md --- ADOPTERS.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index 5f1d49b07..efa8a4758 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -1,5 +1,22 @@ -# Adopters +# LoxiLB Adopters -This is a list of companies that have adopted LoxiLB, feel free to open a Pull-Request to get yours listed. +This list captures the set of organizations that are using LoxiLB within their environments +(in production or at stages of R&D). If you are an adopter of LoxiLB and not yet on this +list, we encourage you to add your organization here as well! -## Adopters list (alphabetically) +The goal for this list is to be the complete and authoritative source for the entire community of +LoxiLB adopters, and give inspiration to others that are earlier in their LoxiLB journey. + +Contributing to this list is a small effort that has a **big impact** to the project's growth, +maturity, and momentum. Thank you to all adopters and contributors of the LoxiLB project! +Feel free to edit this file and open a Pull-Request to get your organization listed. + +## Adopters + +| Organization | Contact/Reference | Status | Description of Use | +| ------------ | ------- | ------| ------------------ | +| [Samsung](https://upbound.io) | [Conference Presentation](https://m.blog.naver.com/PostView.naver?blogId=n_cloudplatform&logNo=223518118906&navType=by) | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2 interface | +| [Oracle OCI](https://www.oracle.com/) | @esirame | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2 interface | +| [Viettel](https://vietteltelecom.vn/) | @chuhuutiennam | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | SCP for cloud-native telco deployments| +| [BPFire](http://www.firebeeos.com/) | @vincentmli | ![deployment](https://img.shields.io/badge/deployment-blue) | eBPF based “BPFire” Distro | +| [Friedrich-Alexander-Universität](https://www.fau.de/)| [Research Paper](https://arxiv.org/pdf/2405.00078) | ![research](https://img.shields.io/badge/research-orange) | eBPF Runtime Security | From d6f18865c96cab9ff6924cca036f98353a5dfc1c Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Mon, 5 Aug 2024 12:07:37 +0900 Subject: [PATCH 089/171] Update ADOPTERS.md --- ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index efa8a4758..8fc174c45 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -15,7 +15,7 @@ Feel free to edit this file and open a Pull-Request to get your organization lis | Organization | Contact/Reference | Status | Description of Use | | ------------ | ------- | ------| ------------------ | -| [Samsung](https://upbound.io) | [Conference Presentation](https://m.blog.naver.com/PostView.naver?blogId=n_cloudplatform&logNo=223518118906&navType=by) | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2 interface | +| [Samsung](https://upbound.io) | [Conference Presentation](https://m.blog.naver.com/PostView.naver?blogId=n_cloudplatform&logNo=223518118906&navType=by) | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2/N4 interface | | [Oracle OCI](https://www.oracle.com/) | @esirame | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2 interface | | [Viettel](https://vietteltelecom.vn/) | @chuhuutiennam | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | SCP for cloud-native telco deployments| | [BPFire](http://www.firebeeos.com/) | @vincentmli | ![deployment](https://img.shields.io/badge/deployment-blue) | eBPF based “BPFire” Distro | From 999306d47a4393e903356be881c7a119bd969412 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Mon, 5 Aug 2024 12:14:18 +0900 Subject: [PATCH 090/171] chore: bumped version --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index 48359faee..d717bd1b3 100644 --- a/main.go +++ b/main.go @@ -26,7 +26,7 @@ import ( ln "github.com/loxilb-io/loxilb/pkg/loxinet" ) -var version string = "0.9.5-beta" +var version string = "0.9.6-beta" var buildInfo string = "" func main() { From 7b3161c1ac0e8cc2c70481c9bb0697fd01cc2224 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Mon, 5 Aug 2024 16:01:20 +0900 Subject: [PATCH 091/171] Update ADOPTERS.md --- ADOPTERS.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index 8fc174c45..e62d43523 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -11,12 +11,14 @@ Contributing to this list is a small effort that has a **big impact** to the pro maturity, and momentum. Thank you to all adopters and contributors of the LoxiLB project! Feel free to edit this file and open a Pull-Request to get your organization listed. -## Adopters +## Adopters (in alphabetical order) | Organization | Contact/Reference | Status | Description of Use | | ------------ | ------- | ------| ------------------ | -| [Samsung](https://upbound.io) | [Conference Presentation](https://m.blog.naver.com/PostView.naver?blogId=n_cloudplatform&logNo=223518118906&navType=by) | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2/N4 interface | -| [Oracle OCI](https://www.oracle.com/) | @esirame | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2 interface | -| [Viettel](https://vietteltelecom.vn/) | @chuhuutiennam | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | SCP for cloud-native telco deployments| | [BPFire](http://www.firebeeos.com/) | @vincentmli | ![deployment](https://img.shields.io/badge/deployment-blue) | eBPF based “BPFire” Distro | | [Friedrich-Alexander-Universität](https://www.fau.de/)| [Research Paper](https://arxiv.org/pdf/2405.00078) | ![research](https://img.shields.io/badge/research-orange) | eBPF Runtime Security | +| [KETI](https://www.keti.re.kr/main/main.php) | [JinWon Park](mailto:jwpark9010@keti.re.kr?subject=LoxiLB) | ![deployment](https://img.shields.io/badge/deployment-blue) | Cloud-native LB for on-prem MLOps Deployment | +| [Kookmin University](https://english.kookmin.ac.kr/) | | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Cloud-native LB for on-prem ORAN Testbed | +| [Oracle OCI](https://www.oracle.com/) | @esirame | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2 interface | +| [Samsung](https://upbound.io) | [Conference Presentation](https://blog.naver.com/PostView.naver?blogId=n_cloudplatform&logNo=223518118906&navType=by) | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2/N4 interface | +| [Viettel](https://vietteltelecom.vn/) | @chuhuutiennam | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | SCP for cloud-native telco deployments| From 1d83d841dfa83773078bdd08460de5cd13b36bc8 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Mon, 5 Aug 2024 16:07:57 +0900 Subject: [PATCH 092/171] Update MAINTAINERS.md --- MAINTAINERS.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 9dbf90edc..427b122af 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -1,12 +1,13 @@ # LoxiLB Maintainers -This is the list of LoxiLB project Maintainers. + +This is the current list of LoxiLB project Maintainers. | | Name | Company | |:---------------------------------------------------------------------------:|:-----------------------------------------------------:|:------------:| -| | [PacketCrunch](https://github.com/PacketCrunch) | Netlox | | | [UltraInstinct14](https://github.com/UltraInstinct14) | Netlox | | | [Trekkie](https://github.com/TrekkieCoder) | Netlox | | | [Nikhil Malik](https://github.com/nik-netlox) | Netlox | | | [BackGuyn Jung](https://github.com/backguynn) | Netlox | | | [Inho Gog](https://github.com/inhogog2) | Netlox | -| | [SeokHwan Kong](https://github.com/NLX-SeokHwanKong) | Netlox | + +If any person or an organization wants to become a maintainer of LoxiLB, please feel free to go through LoxiLB [Governance Guide](https://github.com/loxilb-io/loxilb/blob/main/GOVERNANCE.md) for further details. From 6ddc86b309a50f247014a1fbf4debc8301975ac1 Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Mon, 5 Aug 2024 16:14:32 +0900 Subject: [PATCH 093/171] Update ADOPTERS.md --- ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index e62d43523..196dc1254 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -18,7 +18,7 @@ Feel free to edit this file and open a Pull-Request to get your organization lis | [BPFire](http://www.firebeeos.com/) | @vincentmli | ![deployment](https://img.shields.io/badge/deployment-blue) | eBPF based “BPFire” Distro | | [Friedrich-Alexander-Universität](https://www.fau.de/)| [Research Paper](https://arxiv.org/pdf/2405.00078) | ![research](https://img.shields.io/badge/research-orange) | eBPF Runtime Security | | [KETI](https://www.keti.re.kr/main/main.php) | [JinWon Park](mailto:jwpark9010@keti.re.kr?subject=LoxiLB) | ![deployment](https://img.shields.io/badge/deployment-blue) | Cloud-native LB for on-prem MLOps Deployment | -| [Kookmin University](https://english.kookmin.ac.kr/) | | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Cloud-native LB for on-prem ORAN Testbed | +| [Kookmin University](https://english.kookmin.ac.kr/) | *TBD* | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Cloud-native LB for on-prem ORAN Testbed | | [Oracle OCI](https://www.oracle.com/) | @esirame | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2 interface | | [Samsung](https://upbound.io) | [Conference Presentation](https://blog.naver.com/PostView.naver?blogId=n_cloudplatform&logNo=223518118906&navType=by) | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | Telco cloud-native LB/Ingress for N2/N4 interface | | [Viettel](https://vietteltelecom.vn/) | @chuhuutiennam | ![testing](https://img.shields.io/badge/development%20&%20testing-green) | SCP for cloud-native telco deployments| From 7b2d08bd9293503018eae7a9ebe419d8258021fd Mon Sep 17 00:00:00 2001 From: UltraInstinct14 Date: Wed, 7 Aug 2024 12:03:21 +0900 Subject: [PATCH 094/171] chore: Updated README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8798f3187..787bab3ee 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ Telco-cloud requires load-balancing and communication across various interfaces/ - [How-To : Access end-points outside K8s](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/ext-ep.md) - [How-To : Deploy multi-server K3s HA with loxilb](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/k3s-multi-master.md) - [How-To : Deploy loxilb with multi-AZ HA support in AWS](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/aws-multi-az.md) +- [How-To : Deploy loxilb with multi-cloud HA support](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/multi-cloud-ha.md) - [How-To : Deploy loxilb with ingress-nginx](https://github.com/loxilb-io/loxilbdocs/blob/main/docs/loxilb-nginx-ingress.md) ## Knowledge-Base From 7266a952709088e061df144c4d925428dc266e73 Mon Sep 17 00:00:00 2001 From: Trekkie Coder Date: Wed, 7 Aug 2024 23:37:40 +0900 Subject: [PATCH 095/171] Support for https2https proxy --- cicd/httpshostproxy/config.sh | 45 +++++++++++++++++++++ cicd/httpshostproxy/minica | Bin 0 -> 3981077 bytes cicd/httpshostproxy/rmconfig.sh | 18 +++++++++ cicd/httpshostproxy/validation.sh | 64 ++++++++++++++++++++++++++++++ common/common.go | 6 ++- loxilb-ebpf | 2 +- pkg/loxinet/dpbroker.go | 11 ++++- pkg/loxinet/dpebpf_linux.go | 4 +- pkg/loxinet/rules.go | 10 ++++- 9 files changed, 153 insertions(+), 7 deletions(-) create mode 100755 cicd/httpshostproxy/config.sh create mode 100755 cicd/httpshostproxy/minica create mode 100755 cicd/httpshostproxy/rmconfig.sh create mode 100755 cicd/httpshostproxy/validation.sh diff --git a/cicd/httpshostproxy/config.sh b/cicd/httpshostproxy/config.sh new file mode 100755 index 000000000..80df94a13 --- /dev/null +++ b/cicd/httpshostproxy/config.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +source ../common.sh + +echo "#########################################" +echo "Spawning all hosts" +echo "#########################################" + +spawn_docker_host --dock-type loxilb --dock-name llb1 +spawn_docker_host --dock-type host --dock-name l3h1 +spawn_docker_host --dock-type host --dock-name l3ep1 +spawn_docker_host --dock-type host --dock-name l3ep2 +spawn_docker_host --dock-type host --dock-name l3ep3 + +echo "#########################################" +echo "Connecting and configuring hosts" +echo "#########################################" + + +connect_docker_hosts l3h1 llb1 +connect_docker_hosts l3ep1 llb1 +connect_docker_hosts l3ep2 llb1 +connect_docker_hosts l3ep3 llb1 + +sleep 5 + +#L3 config +config_docker_host --host1 l3h1 --host2 llb1 --ptype phy --addr 10.10.10.1/24 --gw 10.10.10.254 +config_docker_host --host1 l3ep1 --host2 llb1 --ptype phy --addr 31.31.31.1/24 --gw 31.31.31.254 +config_docker_host --host1 l3ep2 --host2 llb1 --ptype phy --addr 32.32.32.1/24 --gw 32.32.32.254 +config_docker_host --host1 l3ep3 --host2 llb1 --ptype phy --addr 33.33.33.1/24 --gw 33.33.33.254 +config_docker_host --host1 llb1 --host2 l3h1 --ptype phy --addr 10.10.10.254/24 +config_docker_host --host1 llb1 --host2 l3ep1 --ptype phy --addr 31.31.31.254/24 +config_docker_host --host1 llb1 --host2 l3ep2 --ptype phy --addr 32.32.32.254/24 +config_docker_host --host1 llb1 --host2 l3ep3 --ptype phy --addr 33.33.33.254/24 + +$dexec llb1 ip addr add 10.10.10.3/32 dev lo +./minica -ip-addresses 10.10.10.254 + +docker cp minica.pem llb1:/opt/loxilb/cert/rootCA.crt +docker cp 10.10.10.254/cert.pem llb1:/opt/loxilb/cert/server.crt +docker cp 10.10.10.254/key.pem llb1:/opt/loxilb/cert/server.key + +sleep 5 +create_lb_rule llb1 10.10.10.254 --tcp=2020:8080 --endpoints=31.31.31.1:1,32.32.32.1:1,33.33.33.1:1 --mode=fullproxy --security=https --host=loxilb.io diff --git a/cicd/httpshostproxy/minica b/cicd/httpshostproxy/minica new file mode 100755 index 0000000000000000000000000000000000000000..a152b16645fff168292bb44a20c127856601b1c4 GIT binary patch literal 3981077 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�iSOuKKm#EvM)85+^<0`TvN2k_s5 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�A{ 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�lloGrT{qWhlc>QV^wEiRMau!l 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�Vc* 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
    >r7{{Hey>YSxUdhHeW@*^(PGXS*H)Hy&|4f--J5 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
    g5%%PooHQn{Cis9 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 z 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�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℞JM`E*Od&K0;52nuoGWcwLx_}Gr~$o&4Zu^7KfcEsVi;28Er ztb;kEc}t zbq^J`FXiKL%(f$8Vf%Q|O`M_Q{D?RnfQ9axqFX7|`zv9l<&T^&p?enQdj+%4(qP=8 zwVXqI&SgFjzdG54F#CU(<2P+P;g-dD&wd5#(0M*O?{NU4V3)ug8`(SQZh<{Q|H?i_ z=zb5g|L6QUveIvK-Ed#wyf7FmL>RW{dB(mK-R{g?e5r`w|fY$o;RO; zgwFTE&D#`MJ#Y5qLbq87?``T@J#X)nI%&NAwzc7Xm+EAkGv6oOyab}oI^>eeba}QT z-ucj(k4<5iHyxwRlCBpz&tJz(!**$y=cV_E!B#Bso(ZFhHN|^Y()|LR<0_XYwi3*= zJO-OO#Ze7C|+FiqvWb+Y{zI?MDf7~ZDidw0@(&rauzznqxgRdAkr zoLk20Hzyq%S(f~m51I2Qf3|(&oq%BT!>k*QqX+9v+iaSNrdoF5Z`57eztAm<&ij3W ztny|YalgL*VuEcl^AKagfCmI}Y|8fULBKHySpqZ^zs*({gUn9iMdP!7QsYU~$}{tgKg&zVp#p zR+qs%-*Q>mZkab(l+|tc!}bDfEvt`U^}KytbZfHiPJw@X7-JInU1a@WT@LSf2S?Tm zW||+vU$2vYff=v5-X%P*)8;LQ=dSag>q-ARRc4;{Lb3(NN|XTY}jE#p!| z7`pMW9f)ID3MJT0uq)6V0poP4()Tp$-@}fCnK#q?67E>o#l@B+Reg@(V;k2i!;{U2 zlO4}G*!+b(k=O!-bt`$(cKgEOc*wk`GrX8fYFY*qoqg-b#|DMvxugRNi?J_l2Nm{G zD!-!(TMU8WS5 z^PAXLp)(!2_^!3*N5s2Z3Ga=>b}hCaz&vi*_S>Sf3^tjUm&FXuy-+kEVYq43S&-*C9=RTJ0(CvYL4jLxk@n(0W^BJGIyQBo+ZDg?+TppI@c@Cw}|(uq`N_TbOTD>=3@I} z+@(wqeT22?lYL&;5+%*DFK~XVV1N;_$ZQMmf<1~~oLOIhWgvSB*8`pNwIhx%VTQL7 z%)DjY0ZC`S`9*Y-N-g-Hh;jrY<|PFjm$4Snt{Q!S7=E#Xb8F{MxGXzGx9T z-j3A=^BXZIzS4LPrFJ!xww0r(JpJ+mD+xb5ivTqdb zHRi=cJ}0B=0t>s3Yuhc%L(2QR)V5pMZpD5++#Q75R@)w0+a6Wh9$VX<#C98Dt&02p z)#^YsZMTt+ynj?}ds1!NI`DK|{Cw+o&Ed>Z%O>lRpPQ%wX4SKGYsQ+nRV!v!hg{Gjo)Fh?x}kPr_MGv>twSfwoK7E z1{}Hpu%D7&`&9M(4uaM5yK&Lw{969zH|}99zb$d*_eIuTM{<76Po&R#PV;NssOQ&f zN7k7>b-}j5R_3)&wlmv5<@l9-_RLv9A8-+ z-<;o{a(uO|A75Gh_{!?XS5`m1vY&E%)%}#?8@haaW%c9R3iG{x=LmSdd(355!W`!q zUt_+D?KL%Ye=WLcHKxw~R_J`6-|>s@5}OKhtb$8yyUw}bGUrlQUJXenJybfvmZ*=wiew}Qu;+Q*T?>MRpS!l^) z_7q!noMX&>W%m~rWA>hl5wG|C{+{U`iQNvHj`W?C*qzojborP&-_5c8Ym!dp`1iFi z%fLDpWBcQi&iQVBqa&{8MAz~JYyj*qGGY3(eTT&ReTAsIuAP72`Rg$Z-JZ^W*0~S; zh{WcHd3^7M)sOFeN#}bi^}O8+Gc6;C4{1|c4r4pY;9+#e@i2_&n(AN9?<43etLSf- zj~8H9aN_qS0=!juUyR3Nxn*LP!0cc3Nojr&X1vG4*wqxT&qE@8FQGHuGZK4|O0ve< z9pfRUWpZKOqlE2iFw5XN7>BT_46aYQ_lj-*6vr2Zc~2DKeFrnm0||^|HKlnFEOZ|g zo$oP{^d_C>ap>MEy31kp<9kKX*$!WZ>%1=cB`q$pk+^={8RJUqAehe>cS`I~nAbe} zsV>@j{AKanM|LC5dB&!XT}|_hFH20V^Ne%)ZYj3j2b*6`?omvn(CizQ-rr0I=@G>9DxNJ zS>iYZM)hop!|PY*4lZ%r0IQ$BHzwU7=sbU;zhT|_9nN`$QBT)n`%;|Gjdm;PQ)k09 zC;3>B18KZ6+kV-=#MXdq0y_{v=+-K1YvK!+Oq)hK26;MYl%RMt#n@{xEfI*qXof_ipsxgRKkex=*8i5==FZ(>gP5ua5fM z#`YlG)#$7@WVs4&3)Y6WFKdtQIymo1w6!lBI?tI&*m}NG43+K|tkoUPI&_{#uc8~n z+WZsfGFHYFysyTtR)WFx40+Xq7RUC|AIL`Z56^Jm?{pBwe!^82_7e zBa+U(mb%Me)@REq!n-c%yr;V69qO_o7IjyW0Dt#yS~-7>*LKKnn$J6DOS()ymI1X=c1JfISF#9O70~0$7wkVwlqHfonUsyaRG`uTdJ{Q=Jb%Zw-zu{e& z*p-Dj|1osqVA^h<*!4wsQDQe1_V>hYDr|WQB*Htfu&IfCRM^5PADDdX{dYQJae{iE%b zwr>~P7{^!lCCu;HUc}n-SKWt2cM$6+gGuno2$p0W>{0x-SC_Cx+SFcIZ$kGpey>My zP8;vLINJ@Msal_R!bQ6g&q36EgY&x8HI@A1o=)Z5lD&g74!_~# z`J3bLS!1N{@uGVZhP+8Px#;GF&q|<<;d%XVkxj%oX1Nb*!;{U1&a@0q%(;e+X-X%K-)wk`6gE3+ z!&@5WJ=F>u@Z21~i_Cu0=(fha0p51zv3!v2u-yS$@1tm*sxr{lW8}Ti=SjC?(Rr=6 z4Ak|-8D8(i!gg_3#IbX+-IBHSAjh#$(rsIG6Iojiavbj@7I91|wyUANuuG#%DgJ87 zW!efcE$U82=U5+A>;KG7!PdIAJ+_uXu4{Xw@Ge2;%jEmBvOO@~Q#g11&8GwKM_SH9 z=evL;t*Qs=;$6VF2a}yv!i#6zvNHWzMt9Eaus5&VKWu&N^Yd*WveE$nl=Wwq+n2jhny$I-PasA}wCGf<;%$S)}DTbf$%5RL^?vzL~a>6FS&8v|;ugEjKlu>uoUmjx%urhR*u{`?i1L*s0N( zH~Y4`FV>+uspx(-d!rs?UH|SKy0g(eg6*U^n%T>Rc`j({F*J@9DVs=(&)~HkJZCf0 zRyJ$Rw#UL9x=RUf_&tnmvX1aBFU;~8ocQZztbmL)vMmLsBh0bvtb+5rNuj2SciDUB=-fczqT(W(vgg2U#EyATIVrnA~`7 z8*#|Ay&&lxfL({}M2tfBK?(0)B_D=of6_R%Ddi%2t+4*33}p5l)%pH&gf|Vg6=}IO zmCJf){VtW)8y8o-aO-}}`B1h=W;I{b?^5l9-|*CFJD}Jar)(wNXN|dV!B#Hp6V}02 zDQs4ZBD^gMTcVVU;cZ!%?-zw`E12oq4aTWi)fcLEi|O2yoT?s6hWv}i$ScJE0VfG<| z?N(U)o{Mqpjx&9JE5q%az5|l2b=ETYXJY#mwtQ+|sJ7K_~(M7Tx5;PKP-UYZuZPahw5jp3~_6!5rJs_N}Co zX`7kX9NChrBaUe>6j}95(J_yH_zh3C9?r7A@c$>aKH*p=k4*8l6?RKvo`a_4sl@D~$l@N` z^x5VZ-tnbg$!ud~cP3^VYd+%oq0Tl|-80m+x$*ChYhH+)eX;at+FGn>t4CXtvaL(9 z3;V{pN6Vmfhn9lr8-a6dcX+7-rpG>=_cw;vkdG9M;!CucdY4J)^u~Kc#dT4SV=s?VOKS#VjO;_&ud4H!!d~n&oLEsKAU0H zq#KlUYoK%7E9Py_i*_7ob^K{x{4TPIILDukV{II=tI(OgF^PFR9DlkcG5gc%Zcpq+ znBz~6C-z&I<4;_++T(D%a5!vQVz`nYXrCcVXtCx%Y+IqQ6ExKGTe}~n}<$YMaTA0oIk7MCTP}wr_V1$eScUD^_$?RD9a(qE-Df@iu0|jHE{owdVZZY}Y_~&q zAv({aU%>D-ok#Y+L+9AJ^NDs(>|)rkz8&?-c%A3zoS+Zz(-o-NoR|}2A2wLb3F?|y z%n4c)7V+Lmc;D$D@foTUb2%^%^uI`LrHbH(YXi>NVYX)pbGl z78!puv73tRGK5PKnrxSag{^Ig$7nqm$!Ti;)=xV7Xr{&cFWcRmmc5hiSLjSj%o#C# zKG%MJxyBqPf~eBG7wc)T*OKj~=$tp`Jf%qA7KN>onDaB%TCwAMNXGFbEY2BBn$qXJ zS%l|zbe)sI|8{2I%iqcBpP0wP@#t4!mJ3yypG{Y}V%<*Vh#G$QoJhTn=63lY8 zKR+`(UytJ4G9TVcsQU+gR!zE%u#NEEKqyYvLQ6ywjz$JcRBubXz9&7|dg| zJIw1*u0wkyoyXUDa7tp{2luDG*zb?@JqNR_yxt&hDl4xop?ije?zw&A*?+J%V5a3H z?2tC4@SnIZ_m}uxR>64;y+*a-H#~J7 z>nqS5hTn2&!*N-x=E&^H+WN8%t}o8{E4F#rc0#eWT-tC;;hZDm{aNU|PCA#yGO%3Q za9iNi-N4%O$T$|k8OPbIL$@`4=hFO+wdJDDK83p5Sci_&w3;L1vpma1o$aH#iL6bF z?S}XIpHW$#PR#Sx`Fp!0=6${Oa{W^bi7yM!SJvz(p?!=yeO`(EWR-v=d%*W5!XT8t)aO@{^oza<(fiU}U zIUj?P?i2i$)yTx`XB&rUCz(xg_{=-v_#69;!#Opqn&OCYT+9AFbe7AgVr%_*8s;3q zQTPo{_9D!=b=N2MV9|Na3*F;I7x~rp?xGvQI&>3@?&QR#BMoB?;an_z25r4JaBgDE z%aeTovkcZlSFbOdC)*FvSq6K+>h)#Mq_Yh+Z)Ydw90l2zrChAjeuu;{$8P9dWP@>j zXUlU?jHG?caWa1MtIl+3>%Fd;Y`Zkf`jTxoPVpXEY==@=BD}p}&WqXvL)!ywW8RV9 zsS4d8#dbX+w7%qc*Js0W(RK*VXCFgh*2%298-eXh)}2z)B3p&DYI_8Jn2;7 zY0hjL*mc;hQOeJJ><%-$b5nkQSy+6FO5HB7t%#$4(OHJGldis3H^!<>i_G(4_*mMR zl4hCr3$kYt^M1_wVmb}qV;ptuSQtsH>V6zI+pUOWonm_vhE@2<_7j+4dESKWj3vKn z2Vm=O2pvlWu)e6Z-}1y;eA5UPad`i`)-;|OCbmMc{RIJ8U$X6UFl|X@%Mfgw%QXSL z3tf+vNAWu!EBc9{bKaIZx7FDWsq;QP!W%|-&e0l!$Z}C#AhG=mbBr@|z5}lA(!@?E>`>OB^Sc+rHsJmB#4KNJ_bKHgFUfoj2~(vUiDBX4|Q)Z8ynovWht{?at8JfI+rGZG?fc9*{`j4T zNN@bkLu|+IJj8Y@?=xrn_??H?@9!t%{qZ{wvETFUzEV~{v~oV*4=k-S{|KM`NBC(! z!u|Hq4=k;l{s`Z1`cXXxJ>7HA7K6_2dBX|k_Uw0d&r^Eh@APAwdh-KIYu6v)oqmK{ z=jl?lJWGAGkJFC|8|-!10_?mev6%_SezFZv=;khLuEgdkY=OiUhS`T0oS5GMU5YrK zOUyYH{^r5hat@ikl?!_)G3POF#m+BbGoz{M1L5og`)AU5{W6aD287{l1hX&sHpe6K zaRJQqZ9_vH>~`2$=mx=MJ7e2}@^D<3u35Fr%ioDO$IC~v4xN4f8A;UXiS>p#7JEfv zOTZk*eI7=1P2<~+b4Pf6(fKa*WSGr?@xFpHJl9z#o1ECHCEgetHy`Vkcx?}Dmkck) z)$f8ucv}>mV`jmI!F*?=4d%I)ZU0_u`@-+U?>N<}__fV!wZy#MIZpLCj3ArFsV3E! z<5aQ;@2|!7GS+0f-B#U=u+Z5rG7hf|UW-l39x%tkCbP~=TUppT2JzL}jd7zKhqgJ6 zchDKfr<9H5lH*tj!_16BW*nBq$<#6X@$=(%$@fdv?a=)Oo&9)*k*c!F_e;ws-KFS! z$7oPumla#@sm({W-6rWg4@^rN%yP+TIUwmSD!S1y&%vxaKIzUxcjpd`ca0(+XP2}% z=4iR(v`k92emhs&2NLT+Wd2TeE|)$q$AQcThoJ>;%bH~JXT4flM&S>(4(vsCo&$@t zERU`ET@aDyV9v)vu+XiF&a(I3&2uoPdFQ0t9Nm(nZ$s)@*lt*CorjLM$##aM+p_3< zW=d2|I{VrY-g-rM9BlTQF6QM}uiECMy+Oe3d9}#mcLA2dPqM2#uY$+-(>+&R)Wz=t ztb?B>wb4GI^Ihuo*p9UHBM!@NV_4LyW$`=Cw@K2ihi)bc?cl@)!d9H4@w|{jUB$ci zJdI~Pe_-3PGA;3}=Y_=LSOG#`SA13x3%VBU}TjcMoATdzDf;~UeCiv){rOgj!> zd!_CIoX2fkVi&^v2K!a8h~r)2Fdt7Q_GU?o5rodR-SkbLnD<}i!}sz-=k-Y4hLl+_ zpH->zIbX1aVdl;L1pk}zX1xj)d0QEVc~jnIMieaa#;spd9Da+-I7m)q8{gtupr-Tt z+3F&FzV~LD2PM`Qw$Mw2#X5BU){(kyi8Y!AwPKEicy78pf z#bX@bs(T85#Crxh%kMX&4{uZXEs|K2pZDn2i(EI3ODxK7G%VuyBLVwOJD=rbw(l#= z%;!mdx9rT6zDHoDZz(Dy&0tgdd@ny(r0;E**TI~=?$`#4^!0$57RzNEam-5Nw>f?n z*`7GZN`|v0D-|2e+HtvPudFjeaE|$mWgX$!h8dpsou(s)w=&FaU4%CXX1&Vc4TVK` z-{Lnd-;-wB_G~*dz_vZxc87)SyV&~9;nA};u7m0}!kOj|VWFE=bX&k|+p}&Ig{RJP zSRA+2$Bp~+U>m}mqiY+cMz=7|IlALmhi(x5OJT<(rmf*=tIqN=j_*EejCluB=N#Cx z2|Uh0<8Y4dBe2jJN1t!_eVN3xH9T$AQH)g_*Z-4e`Q$s8I_H@BE)>O3>5RiUu-j1} zp)-!#U@`aB@U%5NZPgJ~^)Aq}oG@pSsbGh}&l%jQs$Xi%ZySI7=IGr3%q#XZYri?_ zeWS-h9Zg2{%~9Lc2=7SPN4Ie8Pw^fFGu{mnv&?0umAYZvqYB%0mX7eo6z1s6Is(&f7rDFa$r(I!0)zs&otLTQnhvWPW%Mq-#l^uw4JmNamNUMACiL4!uuxvv&62IdS?%ANp~rJZI??r*=@ujv;6S3tVv-Tuk|(JRkvu(_AHoV9_OR8{Iq=r zXS~r*G;hb^*2Z>H3eWRb-S>%IU)bRi`(Nc3x?Fy;pHhD6j>YBjlhw;lRxdx<50&2|@Ld1YJ&yZd^-rDkDc3)l6*kvD znb(hc`F#n?^-rDb$I8#P(fSv<}&;F>V{(XI?nPth;^{H@LPU2vBsq7{Czj+-o|eke4f};{FdK}7)E$gV8;7W z(#_3&ZF#)Vu9I1QvikWuw5GHCvh7UlxBMJGtCwH&X@(L%-J`1f9CM5G{R?LL7EEkW z!ja8J!ydX`g&k6K%V6g_Yrf-4a;jx%{`STB?yi0p*URF3@7J~AX=`8JHuf9*MAOv9 z&PrUNn~2UiX|~0|t}F50h}{gh9ItI>u!wi_Wb52DuQN--ynf{C%;ib<2Xu}dIwyo= zHjN$LR%4DG$|8MtVQbzTZ=a*YF@m*o>SKO`*R8+K)EMXQgcWBh(u>Cj8c+W%Ub=JH^yyqv|>BzWaici5Td*j_(;s>3R?<8z>F%M==sO9$ zlkSf&J3_gvCc@4h%KRF3aY(BCuFiRCA7r=0)-3D@Sj2mOu{{dLDbZwmN@8I<78bUD z#@1tbEiB5*Sb}@c` zgXdt@=2zP*2+!ZNeHy>#s?7Gs?+sp^*y1q1H~0`NY{wSc8CX*#nrvTVJ6PD-zJ#rP z8Oz0U+Vaci$F;D~jmO{Z_>O07rqAn;Y)a9ws$LB`m4mT0Cy}-?&x_SywsCIjR_D)z z8yfKiTNBUlv5h`;*e(qFZVG)C@*T`}Z)?K)m^J?^*M>)1?@g_fmf=b`=SFz#n-RY* z=0xa4@V{5bD_l^4yhV_b5qy2s3U*k8~hOsctu>$L1gx7}OIGiv3 z-`INSEWd}*&4}N4qWu1tY_ra~mUW*d-2nEPX7Asqa!qM=+|KgLXs>C@IZDB61d z5^Vb%6z7_&n;W(+E|=erG1Kh3$}1BP=GE_=^=0iiNR;0~Y+HVggGBimUVof%#F+Vy zv4Q9;zvqafUVhOB(KhSqK28Tz)^sOtbGfFImcOQMSFlIK~s@*UGl#=NM0vpW$tYGmhv3{}|gC zo#kg))yvPhrX^7iMqt!%Xwmg!eA&oH-jhqN={z^&Af`AH=V%>|k_%fH}tjZ^e#g zt?n#X=&VobZ0{|1ZA0gnRj^~=pP@Sx#{Wte?1mKHS?n~tX|puyUk-11@@t)xh3%kH z2D0B3+Z!kY%$w5kNn&9;GvyNb@S1GA_fXNmO}5`A7Pj-0^0S|_I$=Bi_Ava0C)*2V zpT>H{|E4}owBzdbL1$m!Jw%q(PPh>``{*9~2=8cgJ|jJ_)JbiRD{+j6nSX7gUw2c| zjV`tiCw3Cd_vT)MdHxz+JWKs1u^6jzPHE_3tZHspr0*2MGaubymS4_CkE9z@bgRKA z!Y1A7NjDdPIM%lz8W+5+%=(v)(TYiT zG&=8H`oqX#6-V5=?3i@N6y0Gkin2*}M$(N!=kfRhtX@y=NV>)5V*ceWTvrLp#k?KF zJ*;K5E`Fp<`Q1FR$nPGoDEr&?;M_OkM%T{-)V_Oc;jFZUSGnqZF(}XWnq@- z8?btrevov_72T&W%QTmLzRz13on>`6nYB#Sd0yCt9g)gvm7*I1tC#7CMYjTWui#AI zGOS&4yyo4!srxI=d$s zz&hfciob6k?jsVLR@lRdS(e_fPG(JZs(3GAZ5&e)v!5pWKCz4O8}GkZN4)>QZ#mCT zS$Ur4a$X>npXcL##Or;Mww_;Jn@*>3`2*`<#}?L>baxjPZLzk`6c+Cx%bqW6I|?tt zd#SMa&31KvEo>YWH*~KT)(1hbw+g#1G0Vs_`#Z6rvrM0b{WCFcQCguJ`-GegCoF0CZuy8Elr@c&16km9bgP>vVqq68M9i*|{-K z!DFL_&GvZ;wlfR{HREMfH`CBG+@TNp(O>2jy z^Vkl5%j6FKbU(sJjq1=;Em3Ta4iD?&lKUJ8^`kqu&i>HSc~F;@foD&*@!37kW4io?0|(8;YT(&D z2X*e3k4`e}+`Y?>B)9vIS#b5D)TahAhjzB?J$F?GJ*<-GHA z@O!=l>w#@%o{N9O)_bkcIUm&P`|ZirduV^(ZM&o!RM-QF?FH+Ft@p*AU&gy2et&1p zd-I56U;I;P7zZad0>8h#W;{XNs;B?r+`LUsw{q%TBmuagJ{<#oBzdvc3b|l-?W{`~+RK+x8cp?$PMK zh0fo}@wZ<#W?!(o3iDbW%-_keA8>tQ_rR)tBWy;TX&HgDFLVd%u)P=Eme~F|u?Jx0 z<24worhL4fbbl&wd;y!S=pv3UlkUY5o_+D?FGRV_RO&%1`d3SMz7JqI=QOWYbp7CO z;=bU7f04Dz?l|?;dl>>2*<3i;I|3G&b>DYHV%*>Grr->3XX2O+e-6**Fu@|c2NR3% z;(4p#y^HHhL2SdpwVY+2;*7)k>h&(iF*dP?_i9^OC}>`{wm#2aU+o6Q_&&2#LjkZs4FhaLyVK2?u!R%wGTeZa7N;x{0@OQoW z&47|$nZNtwcmJ;|`IUWzZunTnRH;D5A$zc}ejp~LlPJq1_9G-6a+D$qM{hK3JMrNQNcXs?7@tA8&ENa zqsPqmJXLGWtlbRad+&R{`_E}Ds_WO!s#U40!|v`uKadSDjL)L;`ND3{1G{fO$FQ&P z`N9ccoFkecY(e1jg?xV%|2y_3V*X9@a{$zb&5!dlZ8g7dp~LV^$?rQb&KuNeepxbJ zSdV5{&&GK9OvVdYM=-w2T1UnP8K32+j>mp2OEwtWh4=Q9WeR)Hu-8!r>Ly6PF+YCy zh3rOQJfHXh`|{ZF_}v|OFh8<0z~+FB#=5dN7{5VthG7?g@z}$AG;C*k4CQr`+OC3* z$F~hA1d5Pythf_Qb$39w1LY`|zGPYM0^_;L6NWts#^?O>-8|~v1!GzGw-gYil!fo< zsE;Ict}I}vPHI_mB^VXWJjgI?G4)DgNPe@u9Q}8Q+1V?hqtYcN7?(cb_I>h`QEbzr2O{3bE?= zcUx$yZ9pC0W2COYl!fm!(l6hyQrqcbdxK%~!RU9nj7jFlzwbgHEo8nTD;4&vVSF~9 z*KS%dp-=Y>e{L|#@JTWqZY=3>PCuf128r}%c8nw zG7q79g6CkHk3kAI&X#P8Fg=eYds&#CACU1k7uudCeMH9J4#}=FjK9~A{eVKSeAK-q ztP#qo>}_HEZCcs;!oD($zgaQA`Z7+L-^apgNMDkDB5WVSJ{Pvlu{P>YQFpS2GB#-2RM>mcM=*2GO>rI?BDQ1!{vor^X7ieb>`kNN zJw&p$;)AxC!e$tjC2W&nyyrvP3>jCn<#{gIA%^ihmrRep)Nzg@``GAERmZy4@cl+z z4PkQ)o)9K-$v z{`-Km%6AQ@tB&C`D##m{=DxY3<@-$7-7xw)_9t{}Hsjn0W0(6lBKN)pzqi0KuIzB| zL0}7HjI%8K*_VDfkE@Sev7g~X=X?4nM4*qSj4j6jb;~jC(Oj-9s?%d0{c;>ow?Fm; z4Am6f0kVHk$3CZyzi09~#`@i6bnM?%_u}~}8M`607h@i1+OF!}9~r-m!{h2=th2sk z%fa{#{dI;t3AU*{zKeu>Rku}a=gFKyTfS>Q4L+VS>^CqT8!tv-(F`faMtv`Xwtqs$ zW8-@0;6CNpxB*Q4=3;$iD_qkcMz-#n_-e$P!JagX<>&qAt;Uw$AAcV8(C?ds&>R8w zOfE;ctkbqNW(bS@wrRZ8^ua_?((Jx<8zl}>Vxku(smg7 z7sDvU_P_|EEt%T#xnSDz9XR#}%RC9&`A&H(!e~pTw*1EOz5_AuBE~e~?tSpL<|Dx_ z0^`2W1)&(M6l|r@Jp^_k*lIA%uQk?Lmb(zMKWtelB8+7rqbTuHUk4l**$2FpC9+%mWG+@qj_L_7nc2|>uUU; zVjDM1ZLa}SzYk)ae}kna+KT0+E8hRO0gT@zQQbq(@o%e)HjLltCVRxNx4~#T4wTC-=yd+mt!~c z+YZ(ex-DS!kVaPozv7=BV4sRE1p5hr*SgCQvmRtWBe37zL9C4DLws&)4Ps?_PQ&}g z%6M#~?FEMMSWCuhch&ucyvcZR977vBDzD&++H0UDrI@l=wiYe zOTUFE$KJw@F>Ehk{2SU@mX5;sF08T^!XA~rWPVMA{b?A#J;*lbi+zUk8oGbiOMDlb zmi-U;uJVa792KSo)#=Q8loj(2sqCP$oTRlJLxxu|)pW_^Y=PT5aH9%Q;4v~#*z$xbtNdU`u4nd~2tzgS{ zZWh5-Svz4z7}gXlGlpXmV%3qgsD|-d*jC4O=?R^l6SK^(fHA)=QeQH*6>U#2jQ85< zL+3Q=ewO@hlC~$~H@}%5=Qb@L8S{%W=4To6I~2_3mm~S5{`5%g(+(+Sx%D>2V_}m zSj`$*MYiHTveretg~E`Fv_j6-}=fjr!$3(-}qTG)b8MZ*! zO2f_;w#u-DU>whP8MZ`pcN=z|u$K(uK1IK88+IWW=a;^SYk;$EI=^%R(|TMawmer< z#^*1YAI}w)Jtl0jVNVJxHEfx%(Ys-nVms#p-s4ptS7V)RkR$sg+j%V*%krRM>x4Zi zY#el_f&D+}OWK|eTicgp+DF=#Wao%q?MpKD8_TDCNp>!n?MpK4BkfDF^Tk&ClI#Lu z+LvVPkKOepb=vmYmt>bne%hC0&k57>12SGqvmU1)W`B^ekH`+&4O@=wwl8UW4Vdjq zvRfrTo)@W)+l1-8wL<8a-~Xg9zlII-qwVFewS7s(valYDu&%mmg=t?>cb%|Xj4lDj zdfa2!D$#8+Y_%}%W9s8(VM)U{p4pc%#L@k-JDA$)7(dW3ZNGyIdkgEf-wNUDU14V! zowoC_yJ2@=JNr_Pzs!%%S=+uO(|uq2lI$tySe9p{e|vzQbySo zSm*iaQp7M%IX_KA7|&11)b=W@^Ijs)eJp!*uxHueT@bjRe-HMS(XGJxpw>92HtcGw zQ}?}L3$V`ebwwUH-AgH7&j@4r$h0hHL(lT@`5I+Qz*s)Ev)&KX@?B|kyjEiQ*e_~J z#`AH@*p@6ae;-p_0*rol7;BC+l9xd9$>tOrM5SM9|l%0-7~h~bgVzL zAD#igI(1|-z&-~%#4vv6gSwf9@wp%B;)cxSi0=>7wItSo1qW znBGI8E$^AqcB9dqCA!xPD;M48hVhmKZT~Qg-zIk<#> z?AXEcSB5pu5J`uTbdN|n7DFEi zn55{6kyhQ|Sm!m?jfgWv_XuKMV{JyPx+Abo9}gOK6xMlc`NS}mfx7L69gB4y*E40T z7b4Byp!j{228QvRk;m6;u;}r%nbD1dj&@#zEh}-ZAHem zQZ_(Xe>C3TvEHIP%IHQ4hoSo?eNG+AZ2SBPVNaMoXIn-4 z{90jSOdnOpt`HrMi`s9u2)o9xwZi^o82d8X=jRIJH&&S+c8j182N*sF&he#e16V^0 z8lHnG+bnFIVFfw(z5;a57*-#Q`RVbMK01hQPiYsj&Z3)U*k~yW&pXubvBH{5-DtZ) z7>~26>nZv19;>o_g}rQ8b78y(r@EHH>KOK*)OU_yzlq;+OkisJqcHuO87$x3V%r(x zLvxI85rXw_(GDu^p)k;ddJ9#NV^NmUbaK z8H~TP^p^UP@!l5Mzw)YV?-!PbKGyv17B|?{?!g|-N%8z|W-8qI$5%#8GMZ)T0ve&ZkxoFxRWZ2=t78!PsutyBz z-}0sHuZ9g3*1L9Sraw#~4|h2__+%I|eyzX?M(2L%|jpN&YX{96WO zO@(!laX`jr8L4X_W1Os$Fn&jy?LxK}7@v`S#IT;C8;3Ecx_w2rH*A#g8-w)mIZm>a z@tGy&_l=A-`rxxD)LkOug{(-}q0(<;GlX3r?LzhhSjNb-V6ka~7eu#Ly(+)&fYEP1 zT|guMfX`t{|pw(r#@C={)D>} z-ON@#ZFPHxxceK?eG10K>Mm*R>&A1H6R?5bsyhSgY-h4UFdma1!aDOKdjx^!VFaox zf{u5GYZ_Jz#^b8q>!AtX`{8lsE3B*SC1N|n*pl&Eb!2Q8+UmC^;}IRdRcCF_g)NWW z=R(J}r|ruK^!tUew!|t3_AGuscO} zgD@1;JrmsWfU5I$GVU{czPk_BnIG9~Fg~v~4(rG!<$1LtqvJEde9r4!Fs!CL=e5}A zPRGVR@VnixbHxY88ppwj2;C9*{#PsMOO|E1_?QF6eT%vh1iqVfs?lu}-G^Y@SFP?N zqk8~4{_Woes2KP2ZU|El__u%a!L$vYhwd1ZnfJ`_@|1 z1Ea3B^c!v80(%PkIOlG){Y7+N7}gr&hwl~s$FNRd*+t#hV3P+v9u{|y9k?L7>euiyWKF{ zhH~sb!dPbfVC2{)Q(xAHWywJMXnir{9XrG@+Ed5B_oF&Yw~l=*4B5K(y{7d~bKh^L zj%*SF*##JU$|ei@$}o-%>JCOlRrd|pD`3|f_N}n54f{^mK=cW1Io_^D-C5=#NGQ8j z*oB5AguQ9l4Z_;W@s0U?12*zij8!nU5$DAi`ueyHn4gWV5MzUW*9&7C$I(XrlY8e` z@WnFIb^&bdy>qf9U~cZjy6VmocAa5Mh23P>1z^0+d&00~qI=4)ON4!F*rme0H0*LP z9xHecy9PMRr^kv>rXE*_t&UylIG$LKiAKlgGRXKFiPmkKF#cwsY=yA7yJ1&D$79s5 zMt36^j{*8zCChR%7~AClnP14(f${g}6AgP&Y#SrivTVXSkJCw`dlroK(C7V_-*dul zz>cA|d?u2|89jdVh3<1SB)^%-{f;`aACcyFz=s+37Z|^fseMk}4q>Z|E+6M^JkId< zE4WKJ2E1c*HK4nAPxuGJ6zu%QF>$N`+m19`Id(Y8%d-5Aw3e?XY|=WjJY{${Fd1sI=^GveGmfwW(nu>W>{yRoP@x4h1ZB}U!*sqpd910<6_4+%S9j5JpdiY zX%DQk4tAUlF}h(mKcenHFqXsWSSHQy9puO7_UfhEvDN4XLdU-R9IUzIr`G}7MTcq!x1*!i-iF^n<(!M`Ua*08 z;2a6%Vfn~-e%%?mgq#nN@g4Dv%Q`=_9kGA=tA4AqQ4UE?~WNOrQc?Cs$$K+oHo#&;d4+iY|bvHfI> zJv}F+E#LJbx~1q+WszVfnmI6r|oaXb`Qz#I5e`_wh?x@ zVMD}rF6^o6jCSDtXa0Qy9s`w~E^NGE=YsJ$nCq)y3Bwjc$7eQfsD|BW7{A5C=TYio z+;DDUStenf@24fPZkc%BYyBJ%tui%$H>cdAD1pelfI|#=Nqgy6r;qR-Q zn`~S07-|{)>T#7i+O|P{wB_7HA7#j!@8}%^ruE=Er|ge2!8jJI58g+$j6TRxY-8S* z3|R%O5%&8L#~#GW_Qd)muuBZ=hPv*en`m^{4V>-ChV3J^3B&di-7SXo7Twc^^${IU2(=CR3DajpSr*RUY=aI) z*I#snhM~(``Scoxwu8iWvC$0{U4>yog*|Q9aIyW&uo0pQk-3(6l&}tl9VE6R3_DnK zal;N3#(6>W8!fhv8g_)}o-ynw(eeCBZI1@yxMH7@p}B)2@XtG4(t^_sJ5rcl?^Ab_ zu&0b}3|Nz{_}gcO9W9J=llnMDYHZ--^!v!|*%9_wT}HmExh|IqJG zMt73v+DLy;S19ag!#GdTmcKoy50-&GHX2qe>=VN#i)}q=QzU~aqC3Da&O^*^ieb~m zmhU~N-x;FgIf1egVS2w9N%veX%dGFol9h^%zon@y=O+4HXc+IQ)AlaIc-}(YyM}QN zCgZuG=Er9eY1_*%K37WJ1jEi0cCKN(pF-Pv4CDRt3YX+ZD z<~IR&-Gknz_W2=YZ&h?w;_5KMJFB){!oH6!``Y;^n$f%(-&;c7?n(|7Y(-@%gKdO3d~ z^QI=E)Bf!z=Ta>5D9LXG8jr_Dn_mMk&F?_T?^3W9k^I&h-NDfD z+YtH;0euu9+>akL7c+r{(OQJ#!7f6qK6u}Px~&)o_&-ILgpumXux%@JydGtFnIDgx z%#Y`MsykJ58E9wxpQ7V+rt0R2j?Z>*tl9iR({FKX`vpEOgbr19x{ZkG_bSsz=YTaD zofb4Q?R>V_b_U~b3-qD31Hd>Y$(}?w4f$;`ZF&|M>&yG792>TL?-(8XmpXnIt6oI6 zFKo5GXNZo!SMa*g<`;*p>Mp=G_D3T)DU7X@~v|;ME$k=jB(l!CsAY!}RFtxqe*xms>?^91fgEq!G%cu9L`Fxr( zy_fqm7{?lQS0eB}^!SrWSs!DeQ>H!^gWbSkDj7iWpw)rysiSB8`IIpo?J~M1A7{^~X#LN#} z6Ekl zVb=_7esjSv{iNu4|Cz^Rt4o7O>v0XXu^tP}ym2iU{jLS$JZbCkEEo=jDfxY9Y_AvF z_uy20TqmqI_Gz6bdELn0T@D8;h~zgFtTveSyB+!Au$SUD4Fg$y+>ULmM>-0pjB^uN zYs2mY`zRwVm}uC8qU#T*YWs+=<%T^jwqG0e6d2p81QlzBbzA21z<5lyZGQup`gl=n zN8_N-GGaRojPs~@R~b>LmkU!3L9eBS;Ba4Ky~F{ybizIu(+`23|kqTZ=vY;463qogT7=7FInbEhAk7_b%tFk>=nb7 zi*2@2E1)gH^(= zF}j<@_C>?ii0)6rc-*AlPT5sHZWG(%47)>gOAT8u>@LGL2z%YIJB8`rzhjy262^Bd zv~G8Uv5yWE#&fN0IJWRPmu^_6j*J(r{M{JSt~c&xP{-j_T5p=I_DC(#<&3 zl_2oB&~8Ro2Ri<)&HIsRTL8x2wRs;(S%0wmL;pTBiWp!uH~?*#(cYiGDdTs1-@ryb z>#Mc{V7n2Oc*w9~FxG=p9bBdS{yj*>AL~0A8rFmN{%VO%>%sd<>SMO(ZU(Cp(cNNn z_d&<{-X~*?KAr&M@BQ6nY>>SyjDHV7eY^t3c6q|EtzfLjHZcD7Vf*7#qk9_~)`KTZ zjYX&R(05bl_XF|KRmKomT`->T@Ld)j-^tEHCVZCb9HUE$?q+mGi-=CY{Z89&pko`{ zX4+sn7|S;w2bNaQ*zs~27_-Kq-;K2dj`x3oX}b)nw8{#JoPSW!7gHncp7R&NA~EX?CeC^Ztfuna=>@*riU(e79j* zX5LTLva}W-k74ZcsBL}l9;ND7menXQ%Ytrkx|OITum6)^YO7_L58DQjvaB~u%d)}v zXe?#PM_fKc8`x(!cC8OS!>u}&r2_S3S$J+r z-9=L0FTm7R%d!-jA2&?PqWg3wXg`4u{+*g4tkW;q*I;~3ob$P|47BeTV1F2v z1IFjh2SKm8Vi!G`_{01 zz!rmbM_gO{-iU&-zI^^s*-c=4#zWsFp^v`UegkaRAyyy#u>Kg>bB6IZ!EImzWL~4~ zWU!yXINx*ZHb!WQb^bk;X);c!i$lkLdkpL9!@b{&w%0L49q%KYhDq*r8CPWV%X$nk zeqROK0b9POsQK}lmwx*gzlVX<>x1uN9>i_PXdEGVBd7*5g&f-V~}%$y_s7USL!e*1KSuVs=!%W)b}-g=kzrp5v%l$n1;*dl^&F1* zeJ#xX&ijopeI^pSw)^{_1sHsNvCcLn9aZ1eSqNVVRT6_mPMZdpzcFq*BISLV9f6> z!#MuPo-vH$kBr}^)HdBF>_3Ka{LycLj3N5v_+$Ax8OHI){P>%#=Ew0z-5A3-{-`_E zurEco)G&@o`dw`p$0YOHY#7HR^Ly2>Z-s3$?0c{ee#SA*upfl!v*WBAb_1vDE9Vh; zNVCs*PhQ738T*{m#W1lm>ZN`>;PTRi>W1q7ujirxh%RVRTVHo?I`HeD+eNLwHA8o%Ac9zj` z98h;0;>V6X4??#7V=6vXT>(pV`y8L>WarFxr{qmU% zZPQ;xH_k8=!{v9TVVM3McoIezDrHzl7;?Gb{^+tJBrPfT!*LNH0b|)R>O% z>T$cU3&5^F8RvW$YxqBiA#_5hJI$Z(VskJMp)SVJn4gH;i-F z3-J3VST^ip2;C62f&F51*Fwj#aE{FtotC9080%%rqUUfd3*Q@I-3k$F-N?owKg;e1 z<1_ys7#;5g(l4K%svYtB99W%*Up@n^K4?q7`s@|U^0ws1=a=h6@_Qewek8vSq%Ud9 zXE1+8S@=EWhDh&=!2O#(&N6*jEIvK}YYa^cLEGvjuqH^`w)$7Zb~Aj?wwc&=K|FLS zp3677&*0;ZBXBK%PSg7G{Dy7CZ?Lx%TlG5}Y>$ZF5fNMZrEMs->i00C`w~9*H|r-E z_6=D7;g~B7`vvTWgYoVh`cuo7gT5J!GG8YQ@}M08j|)1tlW{!rT;(Igv?bdMfyW-s zDau$r>h$+z>bi=K*V?M%c&6?M!+Hoi*07#p%jeqEb|2B*X4rnhHX7DjZ1wzwWx*wn z^P7*h(ER!dY;V|0T=cadR(MW^S=v>hV4Cyj2X=-x4G znCNQAeni_5!gN0(8->9B*w^R|6kU;F7y_;h^tndb9xAry8r@-{+i2L~!uXvTZI>g( z_8Y^-i0&uDjuD-{mqEYBicat8lN~R*S+bv#ohZ7whK&>5orV>OZnI$%M7PzjVla;J zy%Dn>7&h*k>suP7RenQ}>{0YX7HZ>W{Zk|>?>l~Kbi9sX-M(vAWy@nb>$VoQaGg@OJHXV(lhCmqQw)0=jP(dH5v%TB z!ag>P-y@p#5X#ud&-X}H-g~{!Fuj-d5*XaL-xIDx%zLjnjjPxSFy4F31yjF#mTx7> z@+KyBWtW3(1S`j+tBk)xu`HcJe^1YrWwl{imQTQ%!yk28me#GSn3kmtnEK!~#<-hu)L!ZJ3s2E*P>*Da!`Kv@Cam!JP~0_sc!~ zb9o^*{9jxO{(-Lo|K}?HR@nraL1?ePTbiWpUbFR|X!3TS&s+Z>pMRoR@elHm_St*n zvSlOdwX0jVx;7}tEWpSL{#Mh&xAWg>>isWi{z;h|`~zS7y@JIcCqtx%^;}4n&Np#+~2u{6ux^i2I>CA2EwS9i|_rI~}p=>S6t5=(ZxxM4+xI z0&sFwu2aYJar!MbI<`Sa=S&vfV081(3$NpehHX1e*>my)0 zV>hfnwzFM+LCpEb*0&`ZRLg92oL8)lzvWsT{W3pg1F+8WwJ^GvF#R2o`3(}L&kU2r z5LiCyxPM!}!%Tj(rH;1EBf3#Wx1Z?vK3U6%PM;&D536ex(LEcDR8kzn*u4-Rs$ZhhPb9rr=&;{`C)sSo}Z&V7(N^`Y&;{MI1woryt6sNdtj zSdZbTL@lgaANq^~ZPy|2y@yrMsjX#bZf6^Zn9n_IGCJ#*`#yc>dl`qBvLwLyE{T2@ zjeafTF`KsfE=hYdsFvkM@L{mkXOL-Y8INVO)ptqs?_N_k0pW6#c^Vp-$1>_(LEfxK zKA8HjI%PAVy$S7pdtR09YRT`M8r3uIgVx7+MmJY%$D*Os$2?(2ql4N+Y-@n2&f2z% z=t_2xpV}@FA0um5Nj}@ZRxsL2A1paP%s`$7&BVF>qV!(&rp{Twx7}607f7B`wVqAicWu@A-f5I zK6rm#eXIhbt^Phk-D=VCKD6p?24j8oo*Q+y2;+TJ)vXcREZNVgTPwPjhH;Ld-+c^Y zAJT{ZK118vgy}gZ+3g6dhyFf8c84&2V_D0x9*p^|Gi-yfCk?w(*gJ;ZCG6jZZ3LrV zd#~zlFxJDqZ+4Hc0hmOzEcXgK*04=rEZ`9}; z?&o}LGwfk7{%+6jhG_X75!P7dPUcr3O#dz+Ho5ybyni|f>$D}~K0`L&Fzz#C4;jXN zhQGOHA#=4|DNOf4=Er@8wu_AJTG3r+821_e*88Ag+-K{7 z(G4@~CNTOaHf)vXPB(0|uoZ@JpP>)l3soQ7XIMV|o}-NW41N4$821_4=F0eEyKtYO zj_**bE%zDbcc5Y1XUI-8jQb32XBozQhPow&ai5`I-t$u*+-IocJxOKUXUOzBYb+o4 z8T$Ct=(x|2{b3mQ8QRv9@kd+kGh`hN<32;C`w?}UgdJma+-F?f4C6k-dYoq%_ZhO) zhH;-E(|v|M9z>wuw~dbDn7Z!_<9$A466{<)38Uu=!5Tfs_o-oyx%^_ zuqT9FV%U?y)(gWahMU{@yYnEdGe5Fb2xR9Qwp!RW!#Ga)+xGslf6$iWlx&G%9H-1r z_buwyitZbu<2dE-)BJr^%ffNW{MsAFaY{DaFpg9D;B%R3%W+DbdtOlL#&Jp?{QW?6 z9H-Q6GmPVuOpiw_Gsh`?@Z45yIZmnLx8am=oYKc!!#GZ9d!b<*r_?=V*e1#EeZx3T z=|hhxEDOgeZTZZs`n_Lt?G58NrC;3_X#1e(jxsuqQ~H=;7{@7noNE}zDcLoKRfw&A zKZ8CV750qLJtmC5J8PLA7xo{+o&ckd0y9pZ1Yy*4b9dPJSzuy#gJ7w_0sYJNe<(K;&%Q6oQtYzVEe9Z4m!wv&uJzh1oqeXX3ewFQ!lHcVus@PO8 zw(0j^4Nx}QrYF{{(w!`}Jq&9oK8Dw-(lr*{Cvx3`r2FP1%RIGCmF`1n(@q6dY&#gQ zYkxD0&nfVFHCDGu_ca)=&zBp<`?_Se8umRHuf?|*#&5fmeP$Tnqh|RYs8{8K=jLqt z8|zoGHlpi|hSL6ME4pJERTU!@4$TRHZvkbblH)PFQi1D%}KO(+uNW&2~AU zslTtwe$#9AOTe^zb;S0_W>u`Nu-gse@qpzkYhI<}a~^DiPg+zlK2Jc_prvPM&Y(Z` z$HVae#&KBZLe>V1-{;vMKCtSJzo#MQcVi9^ziK;QY+2@Av4O~hy3UAIw=2f7SRK!$ z$!a5WwH+e)4f_X-wpPdYC0G`Yf6Z@KjJ8%cLdv4gPqMy;2-9aJ$$0;gK6K7e#{4Wp z(&_k}AuS6Tb(S3?x&viyVt!=QSvCgje6U-gYYYu`S@*7V=_<^p#+Evkk2>{B#{9_8 z#VO-}?+;>VrHq3XU>N!-x)RJ`7+NX1Szw%-SY{np4`BXl712EihFv&Cmx+0;bwrm1 zhAAdRHv#in+lWrzd8c1|md3TqQP8zV+O~`SeIV7b4XEo7@o^dE#Euak`o27E`Hl>2 z-;#NfjQ6(L&irjd+nJ0yvMv!H3&FZZd@KU%9MOG``LBCK_X8N~MZen47h(R}JEFT7 z3{^?dCDB3qM06j5p{Y}J`=i76i|7sjLl>v$F2dmJ9noD3h9Q%pOJYv!8_|6z^CX(d zJ)_z5Pk-+kNjDd<{|5i=@1Ik{`f|+82AhGH?HskmuAXB16VjY>t!)mBs z+lu$NF^p1d?R_crdk=Kn2d(WhU>Gtfwr_()%RC$nibH0KE$GML(?Nqyf0 zL${~c@*O)I3RC?4QH?F%(dOJ_%X~T*4tpuK7lK9o^1OJDh%Nu77Uw23ZRNPyL(cW+ zL(9x}v|C4PuLWxpv0ZO$aVqZmm-A`6h;28p_7U3{n3h>>Zv*QPv3&%LbCWIe%hlNS z$BxRm#J1IFu)QL-lU&7(b(32csR!MHcTX%U%s@#``8gUH`)BY z2kRNhFT>a}KkgqTVEaaF%fUD|*)}*ItcU2hjrR%ffDdK8g#Bi8oVTds-;&TW*N5Lb zKEqsv9Z(s6LnS*?7>1I2FMb5(pHW!nLdN!f5&Pgo#H=fZgBw?Wft6#O`9*E9d!^X& zc@PZ!6x%^y)!8zC>-R0_Fcea3|Gf)a&R5o!_tw!|DYmzOsoyN*!}@a0;e2InV_=-G zY<-WHd4oE&<$F||udFTaDR92BwsmCRx3(96alW#)eC~nsm9>4m8rv9*IA2*?enXq{ zm9^#Xa9ZDNsqeqRIA2-Y0vK_=vbK965w%?d#`((HJ^{x0%G!QVjqM5ONX}Q*b{<%( zi0x%yQNIP)FIz`!yMVQc*p86>mp*t*WdA+^)-Gb31Zy9${k5#|JeGD1lucOI{_?en*`&0Wo`ce<9ub?xiR*AwJkt>%TV89oFFNyBW=(G zgPHS{&2L{Y&Q~_S!@$&*`LX?80ONdRZ9fO&oMdhP1moO9T|WfgKm8axma_eYorm%% zJ3yHJT}s;WcR|iguVBa0va}V}3_BJX_jQ(U4i0FCW1R~b=ftsp_~&1++3o*4cAp1! zE8^;GvAd?&@|`a1aw)b;!K$-m{jJ}gm|rk_Q*6h{oD(fG)7F;Pyy)T-+kL^*FTan? z`to@$&R5p#`%in)^@%Z zENaWYA2w}DBR$7iZeD(k z+I0%*HEXd)n|2+04jMV?@Ui2I=UsaFb?dgiw{1s|nUR@yY2CC&8SU$KOzT9F=}Z{tafM({Rj~;`G_MXScgJXIc94oOS8z*1edK9Qa$t?>T?9-jTLr zM_#?K(eX7qjEoPe*KSmpHtN!LN5O1N+NJIC)~w6F=ZLhw($fFhkr8x^;eC#E=^+Gd zuyh#JE^pMOtLhy!W=95IT}?ah$wnFL)&PCaqgH6ifOTzhqTDqCIk1IOy!myn5{}LnFo8bz0QOTjAflK(~!dubUZP z;0_z{y5|i#d*RSa!}FG8j-q3`jJh;|a>DBod7Va`-ELGpmrF@S-U*3mux z+e=z`m5=poq0Z&f9+go!@y+~a-MZmuu+im9a+fYiELpN_$&w|7YYPiImLGmYhz|)L ze)8=Neaof=3&N2oZNZ?RN$%(cZFAZ#*sHwt!h*rM=AUw#;I_%S8I?@5Ua&PQJ#E3) zIpt}Qr93^dlxIek^4!Q$UJzNz!^lz|i!9~w)Ft@;sT@;NiV-YW7AsF{H_DETa?^#b zGye;!#x&Rd+aCXI57Pqw9S&8EQFmC6wA}JoJ8=RZ+fBC|Kbo+m1dF#yFl>f_Z8Ms~^DMpAxMoKYq%Ok}YT%KBtg+Y0w z7=z1Gi?OhvJW`BIR4%n7D0)gsQ1sMdv@TC=jlltqcBv&PPi+lUE~PclGN@c?Nl^6E zlBD)akBKAOwH|UV9_}o+hlA=TyzAE;H)hP*wd>Z^^-DQVqU=)6b0NEwcHQc&JHvXl>wEaeMRm(23K$WmS}vXrNmqFuZHE9Dqd-t*RFiOvVM zS=Sl=VQGUCrK5O~G)&Kw+=W#vs0J! z^2$?9St;lFD*ku>a8-e9zqDQTCv55iG0O31)h=KC_(<7a-66By4xEI`l6oFm5S)6z z{QbV|`$d1hdBcD|)_(uWA>&66JiWmkBR)KB;lQCs4EUhl_m2&{{;7Fe@~(b-;QJZR zUomm`(*xJfyQt-pr@S!G+ie+m>}741w;T1!zcGt3uDt51tKO3B$$^)-mfnVR z@~^?&J{>s8EuRj2asTp3*Cjp`-RHu;k@R;1uSPCcUG=@>`{TgB&fcqdM8p5c_8{i{ z7f9Sd;&u}EllWL4FL_+j-?=!xu-l-(Ej@<#I61^O=C|cO{hh=?T+Ku=2drG=rnNN3-^!5FGn)jBt)V#o_`}kyV*6}{A{vWvi1h<9##%1sjzrB@D z2G>e`cx}(+Umg5*-b>>0bHv|Q1O0a12jcQWq`qy6{dV4S;ZpwtUq9RebIa7PQ`_UI zNPGYGv)_)}CvM4W;qz-G=}qZAt^KjrcV5r?7+eF@R0J|9g^&A)bJJWrhIw|5r%ZYzBH z5J_jA?9=Lh<}#liAlsY&m|DLZ7WnPFSH$JQ#Xik@JzPf5_h}v9FJ9r(L;dDpO~l`$ zNBiwD*hqRWO?bAog_C-s5y0@fnI>e`S ze{FfBPxHPZm#1=lTJ!4^>7VPS`|a9(&zPbC>=(A5onnQ1y?D?eCp#;%Mt)vyo!Yf(M$-|wJGbEZ zg)X$E4Q-i6<3P ztmAbLypZFB6;B`JHpdSV`+a=;-0Pp5%MJ1G{Ptk9=kab4&}+Svz3d7kL! z;|3jWb4?$A_+Y|^z1`@gp==7z$fhNo-~_xIcXbN=W4Q1#oWl zi8ZO)<0ty<&6js_r)J@GQh)IujPu(keS6kNw2$9@I3pY|Jg=DVIzDUr?Z;debK^fe#rL0{_tHk^6vn)*L3Vii34c8H z+j}pg47mW3~W3FhqhWY9Kpt0)WqC4cGf!+U37aZ&JOMCEk*T0&N z#+CVr?uEZbCjK_R<9vP}w*KHk>I&=o@tl;nGC$Exy>ff9T3r_O7LoR5xl)8#5ye@XRj|0gs-p|hqXEy0L$m!Pj zaTQxD^Mmw9#daxQyQ@#4E`E>ix8%Ljf7)+dyzY}r5BbsMcZc5|)BRO-hk9LckJf)t zmyrEEerIZag_7T;Yqq)LMr@Pc9&S$6#U;P}4?fBbyb8&u@UB!{aG3YoslhAm5+SzH zZ%;}bNcrNT>s4dBJE2I3zu0}L`Bg~y77hIA3)Z9XZofSy?K1=CA0-p)`NQ9zS)|+{ zD4A0hmP`s~6wfFrogYq}8Olk??6RWLvV6M3!-c*+aT!00JGZ`_xFYH2x1_|04`sen z{X}oK^0w*osV}_J_jiTFg)5~0RX@$^KU`k#DC!fB`1vm>alAt2L(vD*y}s_Y)7&_X zZE`GH-9MMH0Y`+djUVD00_dR@hFJ}x{_ z>?E!J6OFum=Z>47vi89}hcOw%H~Tnzz{eGumg9YJmv6siS5G|N>7V!gmUuy8Ne7ay zc+T@s>=R<2^?jMUq%VBQZ?BLzE^$KR7gOzH8@>NquNzW9{}s>p?a5~)mUK+gp`;TR zd%M`fJ|5ithm&cq{TGd6Z~OhDP-5L4Eb{ghEqpunos#Yvy0DdRFV)4GN;^s%wD##( z=wr<%d9?KBV<%q2@+8)$<`ZrZyLLWK4DfM$ppP}5L`$E~jicWj=JF}=+qFD}Q++z7 z@hOtetkitsd-!~^H}&hpeB!64<`bLa)1k&^`gGwLk`ImkKUgZ#e7O?m_&7OepGW9M z>!)$yA^to{(;8PC?0HP%gM2!1V5&Zp^scIK)%>%M`@3+%mv7DdyYTLV%`g7D@W!L# zpZmKIEtfl~GcfunjGXpWDtP`@nZSxWpEJOvjl!p^fTSydrWI7C1yrRyFlh&Dnjj?& zkec>+nBoR?B7)ixP%8pzMnH`S$d3S=3a2P|Zft>juFC-bpjQ=;C%-CzJ_@Fw^4Tx} z=@Ed_?-Y~R6xk0}`1p-y_i@)ZI?i{BTgq`?jx)Nwa1YNbT2;SYb4%#7@#NN!zi&^&WHA*SxeWH+|5DkLG;( zMw3rx6_riNn>@8_%AE1tCX~$RK5h1tqV6-M&YU`-D1S!D#9eI4>o~Fa)Z*!#^76;e znL2%9URRjT!X2N|{*xyN8ZzRral;NBH2C0QL;LS-*pT4|4;pb~e@jM>-kFUZyAwNj zXbKu}*q|eZjO<@DV`8s;CASfW9d=~@=~HLUnO6x09Wu1nzWqVCV~-gh_Kr|xF^ z5xXhhFOmE7wrpJQ^N}xqc65WJ2kd71L%S*8(4@~lYZv*C+RgSuce7oyUD18%;7f+~ zKILD(SKPDuoqM)N)5kw{bl>mmet+z$vj<-K`bjNrjiy(u%h{TC{5ka=UbJ_+$Iq-e zCYmlg@!`_H?tDLfOZK}f%f4UvXf*xk)Rmu{JL2JQpSt$ZIxpN%vt2Y@(q((sbqmW5 ze0S}J6W(6(>#5Q75r+?0G2^Md*F4i9W5d(s$37BG|5zjW)QC%NdHwJS&t*^U)Tu!< zy(oWEhd!;Fcl%>TmqY5;>T_f?ebnsy;s^4lo!af$#}+K=QhI4LeZ%LE+<4HWW@~1h zf6!w$9X|c(Xu9d=m%iLC`>Hn$V z5C1Ull&7L;9S70a-Gq$7|EB-j0@bxZT2@Y8?b-$P-O`{z1E;}xP)<%xZf<^!8rass z+ofgXD*(~`sj4Vxx%1icDZ=!D*qB^%fjTb zFm>zJZ`kM-&$3;1bPDC2&Q||n206L+xg;E?XCm#LKk97h7iHvvO;4+tV|Z{IIlt(2 z)bL4eSH0J~&e8MpV01oQYoa{J@d|J2DuVLS zZ{7{gwz6*Qj_fsLRSTS@r{C%sTZ*-FU2>0O>=2X?ZNkDl>hfdKRjWoV>?5y|F_Ws= z<$d6pZvZq)E$naKy8NK@-HztUugSmngqK_BlSOm89sgz%{>nTm!0Pg%rl20bt?v56 z)ffL@fOPgcTKgRkdVWXKD>E})BiF25!0(Z{hE9i!t%qd{89Ru(5D~`ic&B4Uu&=wm ztW}HO+YHkD&_HLh%r(w*3?jFi!zmd5Mw+yNHbf@>77qQgYHqY(@bY_tU{YjXzt!Fr zm0)#iW2sZ;ZpS!Cv+`-dssq%p>C_BHGremD*4i|o-iqs82*9bLgzE@@ITAE|& zQ*Z0~jaqbi{tw>PWuX65G1t`23BNssg`=Dcdo(BAotVR|>rdaOd>_&2(4rj8m}d)` zkoob#rlx6bYteBq`V6zPJNW!KYsiw3*~KyrOc?Y1MwSG_zzxfMwAUb?ADhN!h)joi z9faJ&x#Z^a+f!&MSo(g%K&Z*@R#mpCt4mh)c+Xtla;$P^m`O&dObBFWIK~;#?Wo*Y z^UoEXSNnfGW3^nlS@8U2Ugt{8{f#AB>6jaUoclO-Yu-ZUh6eW;-{-d*AKHX>I-O*f zSF?8g#!Z{Q(?7^?)XK}NT~Mzx6N-Os;Iw;G@tyRBKimx-&$s!<{X&beub8 zCcl~F7FTG9a1cG(F_wkrI_%>78smL_oDkXYZaG(nph20B>(7H8vQ-SW>nE~ganl&5CjRuZ-S+ZI<<|+rjuGm@p+kj{*&d#nC z&=9$u#nySE5OXr$?{*EtU6X#`r9YX=2wf+9KDy3VZL@p0N3<2YF+Pj>|L9>9X5NDV{SP4%A$@BdmZav*)EU!{AA*Ehxj_Lcw0DuTON+EyzOoM@Q{vs-`g^O zEI!MRM90$TVwrP}Y(L*wm$sdZh2v2Nb>&d~#W7c6PtnC0Ig+z0hxg6*=mRdP}eJ>Lt|tQ@cH3P zR4x{LVXk$yuA2TI%mX)y&X0VK$gHeetgUMSd_UPT$zqLVqB9IC z-yyf|q)SWVH>{#d3iGy^8${>IC;fJBHMajRSlXs)^7~(4Y$e|S=+pbF@v#$w!2{Lk zc48PN4_E4(8@E?H>X_SkbrfYiU8&R7PD^{n>nequOkSw8)zO@u{*t$)1MWC((s@Pl z^N?;bGF}&^9=I#LQOTSkk6k(Zj!1M7=CY#~`uWi7m_o_ie317g88`YN>i+$%DnFTZ zGctb?TUTVM%6}ZA3jv6JHMYEsg4r(HeZG}Ne_D}LS4!p%DQO~}kn$i20N zXRaQYB64fgtX;PoSw)AJgb)f5p!NE|4ARl{QLyY zYVbrNpWk?MWp+MU;;gJO)%g8;<{F2_na9!=E_t4U(-hpFE2zuAE8{6IC~@$`rZTUq zY0&$Ke=_`+xNtHf*@OO6LY8-K-?@E}3*)x60{!n{WyxUgvZ? zhm*T1=#U2_KMrtrK!);B&p6s#JMrY?S+P~Z@Dev(nz0UsaLP`dB6f?VHM2&-DF0)9jp&fsV1d^vI!+lRL7~))m_QGfHeL zi;R_nDs`3Z5L7XaB0m@o^E%F8$e;UQUjDI?A5}73vQCQT2hZaiOG`(&u;;pK`a(X4JDxYJlksIND04}ITceeWQ<-=r`mv=rHOxf97IBfXsHfi$8 zrnw@LA5B(>EnVw!mFiqm`3|_=GY$>{lrlSewX>D%9nHvC>lp+XjHqi~ey!S@$!I6V zW9|4I?dW0{isEbYc#6)K@QDG!R|kSTM- z&5`Wv_bc=B*8KN_N}bygUDJH*84WWsF+6Z{xWR8^GO?h4IA&^Q%cHEWar~)#Rt?X5 z!Ek@;yNoHWnRw|_dD{u=Thlz}A<|wRCk?lkRi7JPby!9IhP&y>dBeB-4X>&qHl|nk ztt>upuHiK#4@L!s*EGC|;k6784cB+oxVfX@b&S4;;RS~GF}$wfF~jxUMQ$ExczvTE zZMgq^&TkxRctfKvG`x}FQw(ox_$|_Zj!Gs zT;CBSPZ+N6=8>;4ycK~g8w?K>BHnCxYs0Hn@dYmYmtOf_W{`mq&cOea`xMhvjN6#{ zyM=kL$L}^A6CuK!W>YbY(}Vl?TMia_ep0qGUD}k}Gu+>qp^evP1|N!^8oO{GYJ>(SvJct6y!EZ) zk^2?*Iqnx6>)da+Z*rX3F^FW<(ygp`URls>X34Cw(uqZ7ML{?J@A%oXg>r4&xam{J zPnvVuX~m`Epf4>NH=zXY@)wsvG`XakdunXz%t<9dw=yv-E3VowG3Zu2eUi_&w8Y0{ z^Jf*~(XNw&Zd1#O#{0F&C9~(xK#Ftkk6^7LT7Zd0f%>@p#fJ=yqCa z(x=?}j+NUa_x^16sJp)~* z?tifOxh5@$Ej`>>O%PkoG4(hT3GXeObByD;!yVCM)gYwoaaZKQ$X#$gRbQQ+FCkUO zPuc~axC=ga7yP_k@auNL@7V=^Vi)|SUGVpI!9U#v|7I8b$6fH>cEM|+3#)5Se!ILn z&Sy-j;|K48^SP4h^pkhN`Fu%r`q{hSr|p8DvkQLlF8Ecu;5Y4pqd8NS#94SJ10gIA zfPM?MI#>(YZllqW0$ zL!4x|1NmGM1aX`kg$qy~gal*0J%@)u5-3xM2Zj<1U`cEX&qkSlPYVhWClKOwus$R` zNMb!a2WkF6OZ-91I9|c7VEhnlQPvn9f{G7Cp7_H)6?nj<5ZVMn5+Qa5?4b!SM8F@? zC`6n<2*$z&AvhK>LU0^n1pXoLB()cztOyB&Btm#G!hHBEMIKl$T#R-=`^TXV(FPS8 zu#OL1C$KF^?J{T(5(r7gC}VgT7(xOei4Z^^PDFle#|9|pB;?s2`J9Auj6;l2(Exc~ zj(XI?w)&_)bn#`VD|Lk^YeV!!BZP<1R_r(QO#+im5+THRh|dGZI4Hz=Z~|;@g+1bs z7cHz~?Yazlu*oHX%2kfyP zuEctCcJ%LboFYFM9 znBWT$5~pK3;&2c+<7Q}|7Rc**Y)6RG9@`RFub@xFVFGs06f#B#T7n}EZ-5O#yaIZ} z;b3sY!6u}!9^ME&9_k8*z!vNA9pH!yY0quou`{5%2@D||3XXIF>j|!ttwI<=hNA2BdL|BuGFP6vO5|*xZk>7XAPX1J2X?A}qpY zgakqoAv_mpgakqoAzX|!LINR)5H3L)A%T!Y2+uakk_h2Otly7ygzy1u zLr5Sb5yA(NMo1te5yFR%Mo1te5yFQNU{}b1^#nqa>=C395(r6z5M?h!NHC^9gd{?U zauqT>4u+6qVBNmKwhWB>Z?WwetUrqwA%XQILIUeagz!0VgzyD0#7V9{55_=-kYtQ> z5+QsM93g>_WQ_ddt+7AAS8xQzJRU-hBM!cU4k5`hWMW^%diWCbSmz&y3BQLOLJ}eN z1GHcj2nnnQKO&7#fe`*1I)pGA`y1?&Ov6XwC)gn*z~b1JLab!un zeu5*3SA1OYvX4VaCtvgFnDDsp#H*qcUMTVAw>_UHaUk~bcRhbb;)3^ldaT41l3!fn zHE;UuNl6DE`gC0UY?1BZR?kODyh7r*Z2v{#S;C)@`o<*R0x4%g@(qQ5C%PtY`243x z9FusN#7T)aYg+P&Nxoyne-DXc+8%HDd`C;1ly;42KScg zcClVfy{c|<4A}`}!i3J0RKN1;HVkdAS z3r++jM)Lce`*rSp_q{6i7-#i(w+>Gz@!(|qaMMb^Au>`YFiu8E&+f@@6s(?#b1 z?xIm|OxI8ZpU%pDQB_A%I&P{MH<}EJ>nAsGl0__oQgRx>MpYNSpa_IiM}ru2jgmiq zy+%iBr&D~?iRj_ZrAx{qf3VZ({7{a^HJxd81Br5 zDvRgHS#LZ<(IA^AAenrrH=8oQ8KU>$?Cj2G4cNVp7QJ!EYhH34Z-v$o;;MdDOp4j4 zk5osKVV#DR0KaDcYI-K8xf=`L{@51vE$@%1eTanoZx;M5aJ<&4|6L)4dVz z@*|x~`nn&dfUO$I)^;F5VUuegBG2iNc4c;Pf1B{|4gWBl?1KP!^dKVWr{72=B9LYt zL#n5vS<#;#T=e>(1x!ZRv_Qc`r0j1IV0{DnEc$aC86OYscFKzjI(MD+@b&t?U30is zgM?CWG;vuK>@WAXYkcUuE+NmTiWEgBoSx|7(SsO(vPu9btQdma#Q-Uj801PSh88T% z;v=8>DEY=A0zY=f!=1gZXX(vLY>&J-_ki_{H|I|l7k4|@ec0ztfnzq5)x4Zx zm%ssK2GJiK&TLx&Z~XP1LOv53I_%Ai;>bKCp~U72JA{{RzuB6H9>`sfqwcBPz3G92 zG7Dbc7%ouS*tfge(T!?-<0=c+32x<;6J||g>it1l764YwQDO1%VLXUKLepz9zq#RFn)q7R+FMAUYSl_th_ubA6 z0|WF386dbSCR#HK@yr(s)wQAmUM;72Qf|zQr{Ra0U_1!3&FcizAD2~HUc={Tp&abg1c*_=KxI$SOZ4Dr z83sUV$D~w^TZre2r8tHpJCxx$NCQ*p6|RuE!ltS#No!!a&-D#hw8yg&8>YqGj-Cg( zo6Cz>JZFvcMLBuq-xBE5(0hze@Z8Ui4tKtCd~&qg^&r`q-^Exgjk^JyWRWw&0RkL4 zuVMCwy7OSObaA=!DSSBVO+``|9NnPZ!N48To|V%u3t%)qd{KV*#G?Ut76GCJJXr)y zG7#a?;U5LoFP@cM3^E~a!*O|z41I*T)Te-E^kw!J)99XPODs;nb41`!3Nbj*by#9) z!##3Wp7{Gq#m%0q3mj~HgTu*ARTVQXb@sT?f43vQ0v~~08U1q@j*?ieWeKL^-pB|| zIM1;z8dQ=_g6U1C=*kCT@_Q9V^D;C>2}9^j!X)GX{RM23tGON@B@p8c+K(5-CadNs z^I7fla_=zu!qTGwS~HYq!HVR?-Y;R#kA{;1mo0huGxet?(Wd3-+LPOq?r+!9vY1B? zY8ccj!+pGr^^G%T`fdk-F2&JB7&zBANOy|Jpn}zWw{roD!m|!MtNwc1X7;eFl)w9Svx&Mg&M8f}J$OW$;yOv*v=0f$^9?33h_9@H{(boj>fQM`e1 zu?RhfAQK_vMh`;f0;(H~0q0W;pfE~P3mO$2Gk$nl6JHdy3Yg?Hw_vB=RIxcJz3^qw zbbaGubd7#q_R-`St>hF2=ShLFPT7+Iv}5|RCq{aG)Cv0)jJtg;$7nYU-3DFqaF@iM z+wnvzsKMy<2}eGqD=oM#n)dD(&Bt?}m*sdHMz{w+85*&7JLfR@J#^SVosEXWV%9;` z1Y!&w{qgKY`96xvt_G^z%f&>SzA)%HQ4JTp*+6y1N%5vU{~FfmJ`F%%*Z1^rD+Y&@ zucEr1cY9aUaZv68Yscbx8aooKXCWA@q#BpQ(DE+EWe+a1$jqMlbwr$M0#9bZ1RD&r z^$j$|g9(c#Hk;Nr;EpJIGihExMT-`g)`&b~Yj}eN$qahF@!4PBI2T+a0>(!MX9SKW zeT2Z(MH;Me`W~fdwi_gQR{Ox0XjSxQ956%}@2F<&dql-|_WPKv= zov6BJY_N-|gz!0jB;4!MNgK-4h&*JRo}+RFR$<`p!p-|^rb?`M-Rmzf9)*z(k&=nm z2g#U;jqtj9}$|Y z%hwS3q4UzIgSSBrVVAh7GKCrXG^RdAD0*_G-lQl7(0nnCMrfqW*&-SQEi77YI(^FV zz|?|7OFFF_cH+@NC8ffwxEL4La1`hgWVuJR#w>qW&O#l#YV^744PN&q{bJ8lFKo&~ zEMq*@=x33t?tQs$opC@=)3xhaP%G%|$+uH-Vx+cGgws5Qy9}gopM=p!84Mm{5>GH8 z@fL($wLshe%@QU7bFP>ojTJo7Si!wsMq`*XzSup=sGOpL&KeV?uMv>~8o|ywz~mD- zY@}iJ=XBc%+_{!ExdXDk0ZSiyAlM0k`vYp;?L1SiT@fgDSmbqb>0puzS(G^s_N<%m zJjPF*&;*giGPcKaH5O!jdS5WR!eOuN2s`Pz$vk!yo%aT*uMKH&GVjhYvOOuU?{;7q zctvP^AH|caaZGs%uPWx?I4zHX2{9TJPj2=wl5tS=ypbzvhmNf}>Y|)sG7m$p=dp;R z*%OZTJ!~Ml;p2QUeq|kd$FoBGd>)7GG;y6qt8g!KWfsn9{f z3hfHbVP^I^6K*jvjGgIqQ?SIMp)s2f2T($b7Gup<)9$@^wmGpjJDk(|k=+@XM2Y9} z(v_9RoHz~OhfAqtkyA&j^@)0$SF1t;C6+373^_e^TI{%s2X+BVCTMZ znmTt7UKb)1{kXushf94k3^}sbfl=orK=-%rc4!-|KxQ{CcP4}G8|6#LX!UYZ)k;N| zSsNbfa4sPlGtL3oDcg}<{9XF9uQ0)esS(bT40PD%G|ZWM=QUm-<2utzg3;?%n6aZ0 zHmeuqshJwPAy)Dfspjz7vJ8NilSQRSWTE!7eB-NzYq^)20^jd1hQ)DD?Mna_t-kPm zsA@r+#~52794D*1qFlWK8alNxq$3boHoiadJUB6hJSFaH3?2J5=~!Z-x;Q4m{awz@ ze_oEphIWW{7ntxYiznA9NG}csX$=*I8NJGlY($NaZtN2p_BCNkzvyz4&$DrU+(q2V ztfcQuCbz`tGeqBw8kGYi*@?g*D^m!D3r_X`dt)}!Vzzg!JVHan9H84LL!5;=Ju~@% zb&+;+Z1Y{&y)?(zF|ONPNy7s{XGby*a&)I3rlfO>>#&wXnZcqMvV&mK`$U>4dUOQ7R?s<9Y695E)QXfouw_ zpSzuStT3sb7BgIvF9*32zC1qFA?1Hi%U6veQCZ#gK}DZhO+G|0|Grf z?1<`i1BBhSio3oOM!O~CV%Xoova*Ud{xezGH}1ZbOflwJTWoIJK17L`)TArAf~%vW zAt2H)DYgiwo7{)6Do`jUwUFCTHrN_w@p&DF{bR440`8Bo-~42_J1Yiinv2AEYQ%m` z&_@C&h9^j~#*7hzmus1#vf0dfxOM2?lGi^-G-R#3V$wUW$&Rf1zq;yEZH zFgUDt`*Jef^@=PFOu}RplqJJx5y={0-kvusqkIu1^+>oJU4J7sg)h=!|LF`{ll~h8 zZ>Kc`&%y(-4_AywTH+TTK&j{4xriW%-#jd{aIhK-o;IYF23U~{b{01%Fo&v53M@1z z4n|jO2~(7HT#V+yZ-M7(2BAp|XT?pTo0rGFO95Dp#ZAN^7!<|srHuF~Y;z$#3OkJ` zqQ%wJv=yJxVV_d!I|^o~JRMDL(38r3=tVS6)r`;F)yz(`+}V8h24lQSCo`zn@iCoh zGUDW=n-xUqVJDNIAH`Nkk}EW=Kjy%UV#Q>PVI(mJvXtz*CyR;L-_Ley9DZ@9gH~1+ zl=P=8pO^^Gb$bwRpmNCmr!%4ZatKh*g&j#kN(Na7vOs*=XbRASpi!~Xh4WZ#Uc z1e-}2eE|!Hs0-WKW9X;E1d>uqljw1i|bQBu7*=zK)qYB|N>gz=> z3_=(R*k63xMd`+pBFhZ}Gq#G0Zol`sK+IpTO6fW~!A%d?_wt?)T4h*c!@-CtT5XVS2JD zdMx4;W)j{gUM>$t>@cjRSqGtz)hU9kY6v_`6-qptM539j99SZ!jQ{cSvaBf2*&IRi z?Nlep7IjwCOGFIBJK0$>976Dk^|=N7L@!b!7D1~qUA_+n*PU@NfC4NmLn0xr9*}NQ zPOjuxF|kVV%rotAQs^$OI#<0AC)1QjG*OFobRESKv%Jzao?{MI&E9MeNJNjVpE?0HBH9U1FUkCk<0se&=wc1qzdY694=^7%Y?#4{W`D+;tCw}r01^Fp_DF&2e*(=}DA`k)xGjPWQTzd|| zdyh*E>;RzxO}sn?Q?8L^?TewukpUd#h^CU*q^dn~?zmyu+J+VSjW^(mNwt{K>m7OG zLsoEHLOxuw4ceuvNf>S2Y0-z9y*hx+?YKEHDDd4RkTb<5yVNl&oGn3L*;btL4@CNW~o@5(mdzP@C|G#4AHPeG?N^hg-I2 zzbm-3hXDdr#i7mkLgr@K?-?Ux z8rZ=a@0M4^hmpJpn&icJciFCe3L^eKfE<>lSN7H(hjNXFI}<$oRpW(v+yA324}bGoG{y2gHe?lMTG4I zf^I6#taVN!R;oX?5aNVMpqOcnN?<|i9QRzDRcJCCCY)|{uY+L0L@Ju#CX@i#@rhNy zh$L=m!%)f>K(t}#m5_!QYi?VR!!(sP@lA#8coUN#F5Ctx;BH^cEJM6CH-+9EKx z5&a^e1YoY%`NWg6P%tmlW(6ZPrG@|)V#%hVA+5tv_J|4KISUiP9Z|InuLlWDy#yHK*JPo*$@+R z=~}@`e^{7Sq^+J%bc;B0onh?9A`eWFW?|ib0~blOh)~4<%0VPo+GMxN$9i`!iXYN7zM@a zOhQaWOR*)%22K%v+`^6#RQ8|}2~N5+qc#HY*9R8It*6FX<7{SwN3=i5hz;4QWXRKD zc1a7@!$utycbOoTHQ8n0cBtGsvjkt&35>fz%DbMkkVJ+66NZUNR<&=Yv%8%uZBRPk zc>q>(SjP++&+r20p~Xk>v6(9#PdwuiFZOvGxa@*?UInWg3B{G!ViGZN)V|?6lpH6* z3@{l0Y&v?hlg5p)I{0@x0z&9Ijx>asp@N4eLpx-2tM)F413XqpK+&}efhbW>5YcGt zAvsEQ4uwJdoaEw`!TDPt9T%GDiz%Rt>GKRe2Q2v0xy6%Vl1>Z?jgoe~=m)dLBRhS> z55dVCj2rkroLUe{&K-QOkUrSF`ffhN0pw@}phcUEJ=Z&Wjt#}(MaBB8TpC#APvCEy z>s15|(QX0Hd2*;Yz}5L-tVjl@h{-$PMJ0(#EXMImsT&~^FFk_(wOFjgd!gjnNZ!|I zCDf`YBk>MLljH;yT|72(;=Wg`Ns1{tBRTFMHJx!Th6Ur3V8iP?@SjjcZBpn~fz!;` zMaA|R`ZF>*CyX6` zn}Z{X>SapW1al&A^h>HB8UZcr35qyOgBIu+b&5CF%)Vfe=30=aEw_xL649k>a6v+JPoW9!)9 zyXGDz$Jo#$A1Bdt9gMi6zJ!&9Q3Cr-2wcNCS0_wSg~iCQJSMNqEuK&VU#3vGS7nDc zXSrT$$vvWhrLTOF5epD`mT)zLrhk$rzTc>mV49ekw7S3R^CzWSMQ0%eWKP<|WIRt9 z9sC>=7kGIB-3D`vYEkH2g7Mt6<{BW9Se@`9)POL~iuqy|V02w01Z-}!Pg-q^^s*I$ zhhg5tUhNSsU3ki@$VCXP$Rw#8zadePJPh27V!6<^8j|Epg{#|;GaQxBk!?~4ysn`O z8{BKih<(1b;TtPL8D_(Y=A7j1%N|*&9Ite0l z#endt^k+C<>AwO&B2pYpB2w*d4ot=sL`EfbfgNtk8&YNc%m&!nJC3SeS~o1#FbfaOdnzsw`BD}^M>wj`Smb*W3{Lsx zQGBnCKrjIG!a7($Fqg1SRAVt4@B%+EXAN+f@=Qz6sMaddDF_=eu`C?C)Fu>9E{2I& z*y5Eql45mXpKB24uCOFaS{p$=C67;P?vbasC=nJlgbg^>8(BM=UgI&} zm+^R%z#h(Rg%vfTQ zMWo3diW0)(#xsVhXvxSseH>oku*9`Np}mN$pBRO3%t#>8!Bfu#3LFBSM3T{lA3ebK zOc?OuHo+P4W88fLyL2`VrHh5@#jLzKdxnJ*qo8%9Jl`=Y88MbYq{9+uEhuSqKs>`) zPcuLv(jqi|V)l`?#c4MXBi=5#XRI`pFgOcL(vT6{F|^@)32I>~crX$a!Gl7)XswG_ zX(bCA6)yD}R;_7N4zXadqmHaTyeyegp6zx|Ka9dAuSBuXpUii#R?YX7B4AX!mwJVp z2f|Q^DV9NRINzTDR9`2H7>4;J{HYhEFFl@D?WwDg**d0JQZ9*=6s=t ztZ#4(EU%7m4G!-BjW+cha&NN08N4K%$?zG}0Bxiu(x4DEgL|%VjkGgEraVxN1AWSw zC&TIqN)W25QFo7;QaaI8A#NOmqU3*=jE$IzZF)d=^%xvey+wh^ZO670e7$ zZcO)5EnzhB3`^7fLQBVthruXxI4f*V?GGE0dtPuh6dfi4XA>!gAaa& z$WDpDNrh;RGjL+6^}0m3VPBpFbS+Qg#LJiE5{#r6tf?Aji$=nKmWEo{VuS~TYq*dw z%G&0g_DB;vO)lm-LuWF+-OwCaiAt~{St4sXLf6Xa5$YQ|cVVEE`;kIP5tpQZ0X%ZF z+3!46Xn1TUI|!`ftP(7+As>bG>Y?SSt0X;mc%g@D`ASlw7;MIS4l@&GZcT1Lz+g6* zvckexk7Z}5VoXF{@);&hx%qq-x6lRXb1>#H%B(pfRrlZ-t{&Zgy5M@pgo3I~<8|a?FP?!#tY#)+U)})6_A|70N=X6FX%T0xoTLcUq#PWP@$24bN-z@IJ(3ULy+G!K5tNsdjJ( zkEiqZ$33;55f_QBOQojScai0QR}((Rkk?_Ed~ykWwwNeiJ+Eu54Q0~XyvR9>X1JjJ zH_Rqnl)`tL;T{c%VTA!7-HF(+o)&iN8+j-g7e}y@HzJa*r}@nA?m4T1yTL&czUve; z?UJ2C(9zV?+vD-A;q>eTpNJzD#qR6WMT&sKWXp-?hAUe3V@2#P_z06JeFXJ;KX}E5 zI%$u?uI|c@z-cW+FCE*?5X6fE?snwrnJgx~5?yo6O2+g)FVy9Wb@U0ZJM^OIxtkTL zje%h_q+5zNy$8Re1~-wP=gIqd@Sp)a^1A6Xt2|f*5=GQuM$+KNS<&xhpXa%5jZro2>c)~JGiYi^(dd2i)4WD)uyI$B_=w6;A!&}j~0Orhr5#W28fcy=#$9U zRybHYXEWvcPEjg1^u<6EUly3D^e6s4p#Ke?&GLN=LwfZoxY7JzIDum%m@5EJ8QD-) zoA?u3sW_v_UuXD#L^vqBqv5ex-}&_4^l)XM+Enleod={4R-7?HNE7q~e^jX$Fy zY!d8hgaJz~tG7mILt1@p+FC!*Gn1!e>1XWI`0{-aa)uJ1+J5N`zJ?3UQ2;2JL<-I$ zXQku7gOH;-a0kS(*A~QFkLjvWWpa@mcLKE;S?~uY%wSaEJKi(Gs2T(03pYUSXf_A* z>Ifj-MH!3=x>~!Uz9)nYRAB>afP_&99z0>QsF%uU_@bO2O_H(_O0#&_*RG(tSfq0C zW}s>wfOwf~BW3{iy5Mh=kzPEA^Rg?+hG|*>WBn8&GD9U{Ua191J~8VVO@%`Tl!jEg zCj~5eAcH|)vLO`Rq-mF9HHYj279kJic=3VdEMDRXB34B}(f!l{iBvEh z)$ZJdDmP%ceZ(gnktR^t;128@;S71j4Y7d80$Hn~nHNfjXf?bH6SCopx3Xl2k%|rS z;hu;k;pr)E;CspN&e2Osf0YVSP*6`<$t^XpG!|V~#wVm3QpKzyP<^wXFyd0!D0BeP z#<EvRDif%{QZm(lJ5P2a7;M@B1uhXs`z~G?)X@z_}4SM+rr{v$Gz` zl#sa!w6>7av-w0L43>Jzw&kM)gw&G2{#sL_UM|#-ed6e40{|&7?!efa3@wLEX`!mK|J z+qRB~^EHbI!PIpLIV2ew8|SGBU{Qw3Bc$Se*ec|Yu*2SU_xNc9o=QYfnp3t2G)jFi zE6{~>6mu8=;7a|jnGHE%MVIIlcqa(=yz{*5jNSts6d++`U_k%UBPb_B(O5A{O&aygCpFgpITjf!ihQi&-aT{Pl%^s5;ytjro&XPw5!I zf-4bCrN(ccUjt9n@!0oGprB7CMI?ND5ZtUYbZxd9a$tx3yAK`)p;3T z>D~7Y;dnPRLI2=bV*YwKN>swpykZ`cnl^CVl;hV0tr~4m*+4>oDvtJEj)K38PvBcY zyq!S{@(I%{)d-ql@_d_@Es%^6BJgNIBoOS=#H`5Lv9{WTYJ^clzu?LH%hADK#Wpyh z$?5U|LT=H-^h%^asV1P;gGx4`#FKLap%>-erScyUzmEyz1GGvV5kokJ$f_`P9;!A) zBu(#Z@A>{&_w?-a2aflA?j7*S!HcIJNI}uDlxY2kl{Z~rxbP0s2`$tU4(wcjZ(<#U z*O5D2Ms~T!J~U$2JZZjTUIuU!wqfA@o8H7cLTpR#avYg-bzz%DI$ClUHIa%!JFrO=w>Kf=waS%tJb~ zP7x(CzCVq7JsN76;V4I0}?nfIoRXU^ z&Jl}s8BHQKF0&+0v&dbXqzg8P<>B!<^(1{w*%JnZwFvzXJMb;&m-%ypF34NT%bb=d zD_=Z0vTrI7k+Z4%LojkoH|Fou({dI_V@} zJLUMcWV?@yMGX?M7CbRhI9Ykls6lnZwrW%)fV-2lDcpvu9P-d(v(zj%uGL4pJ8uNq zWxQcr3;xw(6gm9gvd3g=y5qz9gLj1)QbHzQuZk4`l_8{+hPufPq=)#Z7KBM<(KUflWW|3>_h|9fluaroGN z_$Yil#CByMySJ^Fw(mVqTo3NOr`R5Ey{Gve-G8hY?{B~RNO3-T`0)OtwX@m$-dXP| zdd3zIwG+~-;*e|;&+R*{6p$}zmXt?j%E=KblqdJqREHo$I&xkksudTp>%|CWzZ%T8 z@<=CsY=t8%{8Tsc@>2zv2{G!(Y0Ym|lm2E+>F+I8mIg?DX@FFj21u=Gz?M{;hM2n3 z5L0~`vUPv!-n+3f+mE)l9>nTA+rf?FZK>#joL@fJPJ)7>kZbn2ifoVL>)T4C+P76 zo&S=-Ar9)n(VqE8zqWuOheL(pnML0guZqkAA?B#)y|ptae1-t~(!B5F z@g{!Re{!f~3_)-@;?l<%?7g%|V({))yo4C>v>IPiBP;3j(73VKlbdOTxaYfQ+u|(7aAb6yFaTM_okRv|S zf6j-mFe!ykI?&IIpDF>uSfH7aK;i#~Efts_;v=4$|YlQs8Mun!)$&AFz**u zCj&T??ZU58Lx2=<4?aMs8>r4Ljr=gIfX|>E=&93#nl@9B%Mz2kz1a2WJkLWCU+fbcAUjHsR=qC&0ixv7tOVXl0E+b z{=rVC^FyvU6PyE6X*{rm+g>qznO;y6dnOZIkn4EeEw42Oxnj3Yf6n)AtGKJ-$>{)f z{jeqwV;Rms(3-1DMZZ8(32>}4aj*9me$N-2n)1ZfZ}p#(FJNtbfBOqR99SIXC4Go> zu*3w_!7!2-<5pAl>Zt4658nHP6B`lZc*M_)H3}6DUwC9qn2b_8i15QDq%{F`WMc_( zV}GQsTYyIlH&UA#cTCzbv%c{G;~L!UI2skZVPB#&r`EL>d2oqWD;)P|_27`tBNy03?7!N(;8g=zZiMu+0`GRd z#GTtLi8!8N5|3tiylB_L&k*O%t48sL{S->%#d{6qeyFU5x(eRQOTlU5-p!73Tk67x zA1lwL1wUR+^6qkyN6SebE+=`goaBCFQvC~kL`|KgUT-T#;WyYfI0fba;iOU(qz+`mn(GE=XzTrTNTLnKCd>&Ct?S4 znR(q{pVh_;AC1Www7WJZE5R3x57BKPW5cdbds$-LfWmZ}B^3>gg&~t;h4(q+57X>j z<}FTa+^if{3g!rLrmt@t^8Foom_g5Gev0%MBqn}#5<7pn2iaX~E0RGXH})i8nhGDH z;7T+m#eVShbb%+2C>udgf`z%eCt-~-Eo4)vM37|TYE;R_x|3jYhY4v8o*)_JW>kbM z1Vy9?`)tv^>GIU2%LO+Y@T8FJ(QCvJB0czicN0wJd}A-595uDI25bV{F1*`0M(9)o zc!uqQ2!JJLND7UuxJLF6zY`Jp&877XBNu?cl>oIKjE#>rE!mbj_ndU1pW>q2f+iHt z1|fXNRvGsq719_LdA@Sm$VN+~iAgSUwb>LsFJbAWYVf2xcG-~&V)yU{PliJ)fQz^W z%jrYfQXpGS>dA+;XPm_Sz{6(-9tvMN=N$b|mQkV{Gb5FFz-t_MN~Hn6HYz(ODDj>7 za|GwXP$@h1HrS3hTL}>Pb|8>#{}Rp4Qr)#=I7iCBi%qnT~k{7!tF(G-8<`{7#l7s@zOT)kk*IL9Opg2RF1HAY_^Vbq0KpVRb z;RE)5_}IJdj~9GV?Kyn@6OX{{&5q`@d`W9xeXBp8^H7Wb?v8lr+kS~D&T&fxN{D^u zfZe-Z6p{l0E3zjzGq9$zBKLDf}P^3B$$M$NmUY- z+}ua*r$rL*o{inbT<&%>4EVC-QVn=5__Bl3CfCz7`SSpQ`xov{zN9Ho95}?49lVV} zK6lP5^M`%W6`qY4aDk}z0F;wK!ie}{m(X)uUnj7j2A|L)xSG$9^VjIru#WcV;B(Wz z!+d#xhvPlnNBrUeXAe0?V6QNG$N`?R_a9J=%cz(_Vyn2u^<zD^O zQVerqFwA*AoM0dM5BO0K)_2jay$nz9u3W+D z@ME;m7=q)jxbF6#dhVX?bfhYgm_s2>=+W`%nQJfw_7VX;zEZrh%TP}do9_7#U5i`z z`unU0(-tr41w+jCeu%J0X))q~i~wzOE4*C^N`CaSrkQ=P+pSgwiv3{x3&;2Fmz!&MSG!6SJes%WeZMd&1vr*_i_p$F6RP7c;CIDhvr&iex$b;m-YygflAg^g_DL}dclofgAn>F(hjQ~#%?H@#=yzeLV*(QV zxGY~Gu2lZU*nr3}`P20F1I(}Hlas5V$EpF%*<;Lj^P)E?4Zh+v5C~Mp?h6Cg1~QM( zVIrTWgxMAv0MBqxMfykp{QyP>#c~MK(rPAuMlvwlcy%O!r@b4+`+m8IL?HkGMomac zmxi!2GkD;@7t#6#!MJjfuO0+GF0^D%JAlk^tY~&*G}YkVd4<-;eHs=8zCJ`d890UQ zN0dD?oC!JB+l)+?E)q2etmP+ol}w1LSGX@j{=%J(1o5!6CjE^!_3kA*tbCn{0 zOJIlVen$*>7O-rgBg8{KVE^?7jJq{mnrmsDlx%bQ;ySfeZ7AdmO#pST0IE?40k*WB zGVotg6G-w2m$=13P{6%_rz!A+atst)WEc|Ga~Dw^#h$$7C~T}}CTA$tH(V>f+d)m$ zfx6>rVm++X;rpXmh4+R-a|x+jI23MBvqd`p*jKdtDgILSK-h(5Ynj8%uxB_u7nJnsbj}0ANjxML1rcS?#TItng zz)VVIa7`{St}b<wx z0x}T0Tp0*UVV`HKg+7#tgKKG=49N{w6?=)yjWcrqqVw$NlKhl(sMFNd)@BVfb-eS_U8-s~w<=BhDEg?()7 z`a4vVcM}OBEUo|)$d!TuMMa_DwmcNX7m9*mN5+&0b|qZqBbdv(0*0)I(zNB~0D)wE zLzQKeNCFQDMF^2JDmO2x4to_2+It(yKxr1tFC(kKAfz|>rHg@iQuuf&5*J2Tp?}`~fb8w$Wsjm~)iI{Ob z6%%`wK?;{!nZkgLl#|DY1Jen{FX|j?=Ag3ZsuL5il_@4!P1 z->Lfwv^=2Ie?9XU70MHcZRCL8{SFwX3ywV|3Hm*A2^*?&^u(JhPVyH%b=)Z@fo`(x zf45Vb`uK*9=9TC%EBxC^WuPGKAHE@uyBoKHwDkl>iS zg1cPvzLyFMMcJSaBP`HphR_bxb5ac9*Mlbk?Gd)PlZ~!TV-MJr4Imy#x{K`}Tw=_> zv8qt@Gnt>_Zro7q1KdX;>B|m>wbEQNf-r$s4isXo9K;Y|Cg7DSww1+FJ=l@rH)Gbb z#G(R%d@a(jxbTV?Dz%?bG7wK5LW=lN7zv#?Se>}1C^;~=UR&z6w} z+I%_}m=lf0f~aLQSA-6U$I>C(IBzO5&1WdDmyU;7GFaQ8E{&SFjlLLR3GPXKYx5Ve*m^~kjSpqQ@U#+@ z6j@nvb*(c1Le8-18&B@s^_NNV{&tKonnt6D6daG@Sw##<+_wzOnADEW#XY<4*9?)z zd~1fvM4TQ{j4-SvVtF2nF)0+IMC2VnDB{R@gP>JXfrT%Jc!7-*1;6AyBIW^(k;Gku zp}{9@yc8}Gt}%h~G7K5UwWOXrJXdJP?p?*Gc(qNZT5f2WK2e2r?b_o^!jKiUP!Fve zKOl|lA5WU}dJ8wVb;gRv^SB|5#t{R0DObp(nU^u<5S{c;cAs29@1mf6rf3owznMdG z)7qoCd+HD-sh+F|)X*KRd#IbT=S;U0M%rXv6c45~8Dp8QxxQhiF7NDcI<0TygLxfZ z&j3DkA3d8adPGm-n{fP|G&3Pv@_GyPOtzj`59UCYtz79GVTJ4xV<$zg$so)~Rg)tc zh;vHiEi8wkfd|f96b9?(E__{#*LKNjOj06&MGq;OA(|{AgbNGLC6g<&kXGHU3%JBk zRfxE&XjQBkTPr@UB=%7#yL|Sujt%PxRa7)vqzse7_3*T8Jt8Su506XMgOh>{@Orsw zTryZ9;@2r$FIA693N^sfGWD3IB4r$rD@)khmw5k99%twBo;yvF89BffT8+$JdIbVMPU=Ol$I1ZP4BMd#rNtgKB}b}FU3lN%M=p4I=d<*oau>jb}5W*wY}ds zU;9t-$V-RsuXU^f__QM|{zBZRT?0$?A5^4HfIi>@B#2crG-e0QUeOL7_bshheanG; zSVM4kDkyt}{(ggCNl4cqQ@x7k4V`eLD0qE{xd;GX61qlkTn!ErGHu%ycM|O`pxXoN zASMW*&^D~a3*@{)5(;Ow+}|?aC|F3s6@nQ@KmsG(alyat{w%HF7bPZ4ljjShgTn+e zGJy{P7bDzdcu^`Cn*z=f0W0^`;WwDZl!>z<;tlU&y$CP^)F(WCh`+gAPjAX;dFta^ zUh*9@;GDK(H{aBPU%FZYOl%SGNt^UW830I^O9L~2XvA~eY+8p>Vle8!?~(|82hnY^ z6^>nGv#;#pM4c3-QfGuIg-9$l$vbj!KkPPPM{s7os7u2m z9*zZaj8Ss2#y{6LZ2J%PhXLdNcFI163kef}B^USBU>cEU&)6+Qp#?QCZB$#Ng=a~$I?^+`18x$+N4#{ zF@c6(jv}8G?6fq;U}E;&R9rtNkGqGCKa-qnF2-`rUQA4DV1_QLB-!T7z`a~OV3Q7` zhlFg$#VtKisUcVY(^29|af)p-9Kdn)!Ossz0|eg~CVt~_uRfLrxTYw;_8~%jnxUBJ z{VB|mxoNds^|yfwivi1@20Av95ol!=U?G{s($OLMm$EEUNy4>_ z*TBr0(21me5nN^#oy$7*ev?e$-EPHhDXdf`cHjJhT09sXoKIk}%C1j>3hHAgNXxWA{HZUO|<=#7OAk?baDMLPP^66W^D3I)azV^D-W`1?!#(Kh%E+w z^_tjcyH9H{>pj<%G%hZ2(H_p@F2>Gjeju z?AY_7(iSZ>D)E3`2RLZFCKmMqp&uUhJA3`|d=$Q^7jD_}C&XmK&Qn_nC%7y$h1p6> z!Kd7LNrCoYga; z(7=u??Wi)g3I@Dqp)=R#lxIQx2Tnk~zzWEJOLn>+sV?S)L{O$xX)>5Nksu+sRKrol zRhdu6pj9#iaNsWOP-RDY4#9UjtWO-!6YdD1W))Y@#r5=sIbAL7iE;(>;RwRtxXB`- z<_V*;YD7V7s>QtASV|JM7Lo%Xj>xkDAEql8bHr$kaJZI6oeDs2kM)~ zH7^J4jpMGDxEpM)L6 zj%Rqy?|gg%Qz&hcP&c3sF<1qNB<%BM8Cd~t&mua?Ay>nTt*;!NXb`qIW?nJdgZqP@Dm}k>FS1DPzUPjmm`0 zf_AWjD({CVYUyC=J5E8yDT~GH9$Vsv_JcFV5%X{mYu%|JWb~yEu{q7&rv^2_anY+q z2HIL`0cG4_4Q%jJH?nrQ*Ot9C1Z#LOOw=ywYMPHZFJz*~Uu|A+cCUQXergt&tcT7fy`x zwGyYBlookRk!A{oNLwtS+OP%l=mB%N#|ydWxleJp;=rP?gU7#$42dw&wQq7*m*EM_ zmQ$TzFG*y;sV^nlEoZaEbbc^F|CRk38#0m7X`RuJq4Sp)82h6}ZE~(Dp9*CyQG}}@ zHhGM4YDA%xrz%Lzq`*C!NjSIX@U)t(5?@tK)S-o^6!MJ$Foh%9EiEax{pv}l#T8GD zW9v&*D1ozrv2}94R)x_Iw}V&qvMkJ@a~MQ`-h?E{VoUCv3ouS+7-Vq)ljXv97aKqL z_GxqH56!M#_;IaMG<=iL@X4%ztE%3151&5Q}(BpGPa;2~vCI+xwbYCs-S}Lah{-(E=E=E|4U?RcT!niO5g`>tkS|FO$ z_W0FUjJqFPX*QOdMX%h(^IL%sy$UiuhN=WuD9r^p!V&1 z)t;((R_dt{!-_ps^DJ*o=&294w|q`koKrQ+DrK9bvT9G&$*j~U}4M{9zpp7bCyraqP0?%(ZGvtHL|kAN`Qwr(88a=Ey58mqUKpx3gRcU?tiei=_LGYAyAMQg!u^fs-< zu`R89W5|UhmNIazzTMcON7NN-(y4!o))H85oyO{|B_y(}=3Q&inP0{eT8m0&_12QJ zConz941kLYdsoU@kqtQ|f-S{v=tgyfOZf`+3B7(*OJGOVN=nWmAF^ag`fr43|GT9vxF z-=``VN<^E;hG8vFZa0y8h-rQgaj))W-HF3L5@XMv50M-Lj12u6p3c8=s-5ZF-}j2O+3Y5zf+CEYkB%qkrv?X_rX!BUV-HBuAR z)Q~#oWjVk6u-+_c5?Weqoz^^Ig>tS{ph?dM#rSze+9%Ad8iQD@tpf?TOapEiNSx`{ zHjp%>E{&n78frb!tetHGY8Xh6QtLqCbCexOJhr7uLaDX4%$oWfNRYsifdn>7y`lhY zA4ohwOGPqQKi+Q5->@kMIOM z4$*ORPDgFx0mt2?LX^cHmajSfWpRk&Z^SW1JC|O@Q6}RUYnyw0S*E-xEqn&WGRtxv z%{VXaL62*r~2WYQy}(1Uv&s8wHw$3Z?m- z_>@+fUc;=-G1(d%cy+42iwiqc5j1zmh-{U#+Q*wX*_M8Rblo`DsDB`6)jyCm>mO*A z>z~p#P3Ep=H|iei?MM)UyREH^pPM9h$M_=U!q<%DAM!qFf3ACG`;o6MQG)Ka+cc% zF!id*7O(fjeV&V1&)k)eM%fvf@DyMcKjn)ym=ko^oG?nxIa%;bew?o3(eZS`BM3~y zU`tpKByXazI`W+5j$D5oOFcUO8e(3|MVl8RTo7d#5Z*u@m#4eo z28&~sK~9FTNcfoKK&WGdMG(TG5p4$_e^y&O8|Uyj`A-gyvuq+6_p~Ce&jycYQpTm@ z3xIhGUyL11Uh{&KW=?Z(K4y|6aSECbA2#ds@^t@kGuBsfqL9cw*m>B@dHQIp87YVL z-SuK1Lz|Zz;OZD0F_jBF{PA#u<`uVCm?vuBA`O$j1YQ;Mr^Q7Ni*Iw(JT4d<9(x}b zz_w7VZ`cy|-YN-tt%Y(*7x6SEwv_J8L>(zD$>1@)pSZmY$H*#so;O5o##$mo6t`+{ zHnCUKDuy(yQ}p0=#-0RR&g6}TSe(WhszgZ=RPFp8ofTm8YnBk>vm&l|ETLIKgw6^; z#W%AnaP*kAG-8U#&4P9x zqH$~%8!yiN`i2@T>t`=)zmI6p#*-q%#ZC(E?qFqtG>{?DV5WK+dBiQ&PQI{~c#XG_%h~3z9Ak{^l(XUH^`>0_ zn_q0eSWx;$is+B(zSw#z#+NAn$G7L~!OOI&o@OR6hjFPV%~jrc_O|>7cFpB1UNK5L zN3iX1Puv@3$XmNH3XHc-6bE*saIGz{n$EH`WLBN3tFgH^+{`VemLKcR)wns3@>na* zr?19PPmX1GtMqW&`rD_dOr*C__}01PNpBWv+RxuwP--*WHWyBzC(e3%YfavcadN}r zcspJ&+F0GU<2Px45)tOyd2f7+JeZLP*N+yj$OZf7*2?qkkGDuU^fgwx7Vt@jh+F4? zBidW{TWbGA0{w2=*yYibRhj(MhP{2<;)$1KCJXZp_9vELSE09-gBcH&1@0*@heB^L z%KFS)j2G4A?j;_pT(Q!$$F%74@FjMf8}2|b_)DC|KP@@YIhVPx#kV>bQp}gQW+J9D zFd5fyBThzybhZdCI(oAvLU~nVNl_m3c2zxx^&N*gjaXnI_M}eG;M8v-Jk&uZLge!i zZLTG#22}%ZPS1dCQ!=HBG#qR{e7N;q*fK5#xT$7P8K{`3Xf$@5rD4Hv8($x{WA5YW z9o%44PJ2UjIYx0iA-ckE$BDgLTo#85;awxU9lPu$y)AQc;OBNJv%YY(Tg}z8Qh{xv=AJP9?kRzuvBFWJw$rL^=84vW&M&B0jKoyAm)n&fBGn`wGjkx+dk8 z%@vUkZ{ODOMkU#KUD(?xpM*oKP-<7b>eZtMuqeZbxB{0NA#nHG_V&Z=`){i;Zk#*e zRQ;Cx@fefNL@Q+Fg2A=7N&KR?Md#)OTw;}!2C%m&*0DQQDiOCril(de4RD%3_P67;SzL9xw0cS@#vvF>ic;!;We<0kI)=JB z7c@-bu2<(pif_%EobFhXs4dQ04Cg3OW0cA9KWrXel(Xb^h$U$%_TAp3#HIc{dlT>~ zeX=vEPQ+SUalEMdhJ2-N+ZmU=!HVseqz_h;8j1|r-5GohZ`b1Tag^I??A#lha(I2w zyTE-txbBXxnyol0AY#TiWDt-nwY^%Jen4M!#FO_vA}w#35FR$>R*`AH4R-&MmgNS{ z=*F8ip87DoGAsJQq<3K+#Fa{U$PU5lSFp@nZJMu%c>KvlK#SWA#&IT~!EM;1mAEPB zPFR-ZY}-z<=5DJU#($ZHaLcBYGmKH#UNdZ%;E4M;SoW92brgqn{qWv(0s3 z7cO8XA6Vp$Ao*1YW$j6X#A#_fYjHXTmxIxh;&K`^Sl{4Ff2bEevxAvkX;ddBX~%5c zg3cSeK^ivA4kkNu>~o&O`ai`DSJ;Kg#jm99;P|?#AW%}otG1z>>RRb$5;$?qYhXgl zm!10XV9gNsx}7gfKn}(}b4jTKB5q}^4+j`-Hur&r>ND#|niTWR!KC63UL&e{L%cuD z*gG%W{E-J%Jy_7a=^BOLXEZfrXZ>M$HsxD`$aPs&bj)p&$Y~`Pik%ejAR$zY@bjBP ztVN8^Oo9n&KzSRe27S)^wFo^prU2Zp`mqsM$;;M3s1Whx<=um)Czbm2`Z|Jwb z@1VBGjnvL*`9KgOxiQQnhQ_Rj;Ay}G@gz4*jHlkTN~Q)0!Oxp=_R2huffnY|$GNEE z7X=myO6*i(36Ec!ReDV*KkPt>8Rn+X-iI=)3zI@0 zZt%YvJaj{#wdx58ao5pptVF3;@0e0YXvdf+JUd3I*z6b~P6uNBeBI*JL!h!!-UM$? zQJpXw#|8f|lYph+%w}H>!Y-Pv6O9{HA+9Ng`|vQAUXaE4wGQ1msKY*B?`9X!vZXmY zOuTLgY3yC&satt`tH$bWrn*!d$bQLLG;sSemFOkEf7`*+7&XDz=EjkDUfYeAP9}4N zadhQ5ldL11+t*fz%XJvW3AO6r|j^QH& zxMuSrYOy+(=DL+KlbKN^HEbrTSVKJefH}x36j_9(u`2x|)?<#rtw_0x9ZlC>FCMy- zRKJf{j-*<1Ic3#_F1bJ1-`#$Ud&lq!&UxwXnsrk^BoQwapaH=GHAdF+-gz;OvuW=F z$TwxL(7{*o1PmVO;j~1tGahn^xx8|=i&mO5T8)rxCh4i5^T~LDxwbVyLm9~NqXg^E z3m@aqO;i%F?McffW;i44!KC6V9U&XqM$lPd?22SKQuJ_C$$b`PHqrDESz`g2f!B$) zn#tw(ot@XHWqCGOi>((YT|eC&+^rww%hoRXdtB@13+yPf{f5S$={gyzNV=?-f`shC z!fI`PanA_zoZsD!)}k`xW|9=e?nenXQgya(uLPWtx6q^GT}!R{`pL1Ks^gtx%ji~3 zx3gMFZFlakEOFJmY_BYF#WL({B@%6OcGFJOCT3=c<2Du+@nQw*9>ZZ5IJ5YO7_CsW zWz_u4(_MNq=SWx zP_oJ4HD)I{!rIhLZuk)ObPO*xZ_<%;72DBbj{Ey-;DI?Rr4)%Cmt|I?1Zx7UL7gUN zz;GTLh6!ATQkbd?lyaU>Y(5kn3d|#1x?->t=KHw;!A~y6=k4oka#FW zDDX(hRS&21aD9s^5oxl5$7*Qb)I&|8F32xlsI&3HNG`rBKEjz2yyYVj@w_+kg;&XN zBomLtV&9=RxA)x>B@dUyG`0?NK-&`PJ4M`E3o{=TibaQP8~0m+*0OQLvsP*vKQ3FdjklC$Ez)Oj3)RqK7`h=cR$NfK z@aHcAnpv@cyS7P7 z1Q_9cqj4i1W6+88frR2}G}$l5138i1Bs)_rPVreW#q5{JG{6J108DVI%-XYyrbhQV zoNBRJd^>ZpQ)`D>?s(jrwiML`0@L7pip2(g$mgpxc4%Khb&@O7QMG&7o9&L_(`!t{ zJb7Z@`(2V&M4L@fsv}9uwuokWJ8CxNP-J3Gt=DfTE1@|qW@8TVX=belV7E8rN>zMD zaatoB@SVWz6+;v02XaP4kKPFZHt+DP3AXEN!vhY04~wR%kcDGwv#;Ltrp>|=E#xYI zW4zumY0r-Ff+jS^W!+i~(wdl;gf&rvbs?nLbP{5-C~s}1_Qd6^T-4_jseBBO@*6=H zeDo;S=2UMIJ`F2cud+NEkd??;=+-sj`t!Y)if!t=b5g870LW)+BAP2 z&&r`+%Eakl+gp(K(WX4I!tsq4nW=}V-t9CZ4rzT++2b-DkYo)Nw)x^@2aBsIwMw#n zp4yJ2qY4S#0)F{wKI@m0*B!j6j&1C6r@MP_kdW~iQI2J>No2P_)*)aId)F8@8<~M) z=dEYZNymO$I|1G!pN@H`Al5)OZUNp(;8}avn^3-*{q9RF)%fRP*!qTPhi0R)8CPr9 zfics9O%)%Ze4{zFb1^G$M*vRV2ZI93j}c#W! zA!$-NZ!HK#D72j-D(-D%r!k!40j&~ylY`VXBZY6~*dD5idJsj8iyT-32 z_i&WeXT}pFe4y+*I4c@!UhbzJ8igDtRNtVq6al45hUcbmwAZEs{g;c|yM`CrTdG=P zT{ERoD;o4VBR`OJEdB)sTbH_6FdWR_R&kxZ69L7D+s@KQ_MMZ?yHg$YjDoQ{R7lK+ z&9DagzSjv*)#*^vxV^yS%E?4|eR)wVoYju9z_M@QsA^p;Mvma(!dAAg;uwpuRW{q3 z@P_+^U+ve@)(htvl5?Dstnw8XqFuTtc@`68F-@SMy~TYkzx;>km|3#8IkY#MV|C~o zKi++J-Id{4w!F;fk{Osz?6AcEC117st0h~f?v=VtsR?;?Pc3@GTCNh@PJiZCpE`-?HGn(mhn2p}MCTbK;0+!3fnlXANTFpgbY zzv8<812fx4V(`#!#{rR=E@B8f9+7*8PDg1VNeEqLqTl>bZH{U=0 z>(YS@_Ll(re*FA?$omrDuRpi8_MPDWS^WMoem;wz{~bU7I)09! z_fG@2iN7C0#~;KGb^ZnX{xW3zHpuv0`1yD7{a28mKY@Jx9mxFe@%z_(GwAX2XMz8p zP#*sRU{1EpG_|3NY z9p7rcAK*9n94%=`Px++#GVuKU6ZrjCEzdQ6|6L33{F6r3H{myVNk?At@tggHzkdcY z_?x`^&Avmq$Ci(<^xvcfr)fX;ZAPYs@$Wyn0{?#nn*VJDx>WYE?|%<6??Er-v5Vh- z5kKW`TwD9wO4r|sZztzd_U}Ih`~pABJ7useN%OtHySn(}mX>u$dZzK`0dsZsKjLq~ z$hZ0JYil3ihkvL4{yN~S`+qTm|3<*rCS1EodDHKI1N3*k!=&56?>~;8Bm9tVg5Q4) zKYtECl*u&zAN);y$w&RD3)5uZzOlN0&um7_g{jB<;e1)eBxcX{V(>Luw0oC?sWamf6AnJ%HQ~L{mJEzv_AnjfAb&v1=D3( z>=S8!AdTx2|CyEdckr9^uHL`yH?OTd!w<)_5q|#|e!d4k?BnETzvb`$7%={RY0H{p z0l$9*WyJRKOTe?dKKGr5pE9Yxrhg2aYk#CAzy3D>p5HFt4(H19Uk3iC@Z;zl-u-rT z-}qf?Ykv!LY!hy*yARk8;O7tE=a=x~c=%h_@3;KZq3tx)7kPd==>CG0qw9yb^q($E zwoQj;eLJ0h^$Yd3_8MvY6n;q0HuA0CZTb%LpPlK1g*)Q4V`8Rd{dGN9a z+2x;j{$pOvU-|$4eT)BB!T$^R(fM#3f3ii!vDNE7ezUyDGqW(q?|yF~Z|sLZj=7%o z$9~KH#CmgObOIW-O|~tzpC88ePvGY-EBN2Q-^{btmHce)90NI4lK0m@xAV^!omigV zg}(_OSlCb6-+##drk<2b`A%o1>;CTjmRRP`S-#&6_&>nk-;Upo_K(@WwT{$*?TCGe z<1+ubxr%cR`wjEUae;m8o76bYx#mBCOzQu;zQ^R>wUJ*0{2jpV;fLw}D1I|f%pdcr z%fabMovAEanE38R=O^pU3yx=8>}RgP-|h8FMaYI)4Z-C!fFneVZofSRa2I z-=zEe_XfK6@b{(trhbn0CjcYu&*L}sWt~$7VgJa&m^Seo@5#rxium91eeHRpJhru_ zI;1Shc?LPZ4?q7Ye*O`D9V`HGbIc{&A(ve0~0lA#c=! zd2{XK%fNk-v{>h^Pf~CGyMaud7hM+A$EE#mf$s0&=e>@}Gy4YH((lJN%j4(pThp9w zuC4tB{QNk6T-$K%&-JVS4mj$=`k^jv{N&ikdSJVt49aF2pS@>jolf76Z|bOZ{v_qY zvSu1g>qGnd58$_!&oP|#3&&We$4`RB{r&eX-*4JlTl*S*DC=LrZ|3hW;P*Fgo4@&u z@aMG`_FJd%E0&&VldkRGYs>G-*xB(p+k$d9&O6(-X{;yRPk+J87jE3=Ji~c}b*0CD z(k}bQ@?m+9j^)GOf6acg9Ql2lf3!btL!YDN*iCzewvw~wNXL5TZ?3Iar~I4t4}a5^ zqpkQWs8iPKkE854AJc~6`hfHtD~S7xwq9J@CcmC<{uc10``rDyjrjmD(sK>N-|nAl zWBmRh(EOUE`*-mBleBxvbA5?_|2L4Q+aud8^Ge*0*fcp#as1=l$hlpQE3Pe)p6!O? z7RMg;Z_dTc2gg^AtsLVx4sZ@-pJ(}zkN;SP?2r7LeUo*?Hpu$=)i0R#$?_xK*`TaH z+8(q)IIgjbzwd#`59@+yb1Wwh({pQet|K|VQ~pm|*-d?jcGW8VNcSD4r~3`_O`Dl| zv+b}Qxwf+peW~{tzd7DeZ`KE4KML62#Ls6Q!WPHxP5h>8t~-Aae^Zt#NBVA9&TQ*! zqvZd?p!pB+LmB@NzbX6Y@mt%yluP-POZk*Z`IN)-o!w4--F*1%kK(bM?X#^-w%J3j zEjG15womHDcE>Ved9h8fOxYgUAJ|SgkFY-32A9?8ZR(S0>$;@<&UVVOpiRnhVVk>; zcEmDfS+k5?*`pfPHW$@w6C2RIF|L8$tY-aizh8g4*u+m~Sgt^IcK!I#EhwwC-_~2q z%V9A=_|v=?{PUS4uyewr2tlFhrs4-e%W*ECI>SyRZoprX=sC^~^~S?Z`+G&|g3&E! zqTQ&!B2T}BzGn#e#3gJivdE6sS?_A_=)sB{+`BrG^4B_d2+o8@)^-D>0bN z--1DBW2F>?f%>)NBUk%qrDHtbadkGvEv?rpFr()41?!|&^Tm19PQrb{SI~GlRXfGi zoAdL2fM;o*`x!kIgP6WdXMn+0?h&sirt1 z+fHHSY_(HWH&^rC`4SpAo6=5$vSQX4gVaul_oy)#w$o4;_x{_d@Q(0&Y3*EH7E3Ge zvbUt(pztdMqrEySFP1bfQl4EP)aSZgcZ~YnGOgN%Cf^LF3)J?KggK6%P09=GK)0uC z?x$&O_d>F~p)$H{Nn*w1HM&}bD~VbYEO=+b5)zzFpDn2-UYOi8&bz`KA-I2u(&G!9 zBw5z@EYaDc2WW-us=L0p8pm4KMQ>MC~*av`3hCn$D?})({EQ@ zP7P-pp)2hx8@b<3ge$*curHm2VFnM2RfdtN2*WVAETcZ*RYuLL73MrnKr2`r74AAi zn09;VPR^&JX>rE?Eg4~OkrM8`TGBl%(HZW*TtV}jMsbE|znx6h4ohm|^`I(E>9xyZb6UDOn7z4L zZo5@-VP<=3wz%{vsUl}}61Cl)f2jeE|)X8e2p_8f-=V62SUIg(Zy0Rq?p|__`jv(SZ|xnmFG0Jp4fJMP&N%t6niC(`IQ&q zhrALekl?Lo9n3s2OLDWNIB(?c-A%elnk_3#BjT1VaENRLGE2TXWj@0$)sLM#Jvn8Y zspE(k+J&#;X_g%dbN@?Tm=H8Cjs*QN&ZqEF*A@xYxN-d~B9N_?GL2F>>u++eqQq2=(xtLb5Y^HybcEYrZ;X_miunt zS_a$rCXU@;nTiV#8-%*um52#X5XeoYBfO%T&#?HYF;?&by{3r*!vzFXo2;H?G?q4> z8Ws}By!^k70R6VfWm#PC*8LWbktJxcs;qSWjf`NL%&{VzGQ!>5LZ}pNZ?M%@I)I68+JvMGFvMBF?aP+)(Qp%EB(D6<&Y2>HG$_6$ z6bQOlLID|Efh?hdoYklXqh+E{3AjMBJ!8E-E)VYYZ_dnYzKohhwR9oo3$jio^0aX-#z)gNw}_PL?3{LC(a?Ts)XhCwlgiDDZA$t+Mny?2ZFngg4n5;hntrwQ zdh20(A%Ku4q}z1BO{{n&a}!MnV-;e7nyr49HKtxQ*sqqRy6kOj@_+3~J1Vh5+geE~ zRx{+hdVwByV^b0QTBb^%6zR7lUrqZYjh5yf3^O={9zEFP+h0xluby^VTy5f~Rdqa* zyve7M+uDS?T0BItU5t7dqqnyoye%Irir%~_1Gc(al06$uu&QbpFqg33fBbe@gYT1Q zP4-Wq^~3G<&eK#_;QJ(6ll`rTFvSqi zywFKo@^s}gadKORlrShh+}h@#h+nM*VMr{c9&+2pjyluZrI8!fG41lgL;B;l9-05= zh5HeaSD_>La?;S3V!F22+?dkdgq}|vaR&og>T|Ij6k4>X? z@60VVlK|>mD_=>De#buF3|A6EH+ZjM{dfxjS9rqx6KK)4nU!c^Un9;Z<~u1~BiqDJ zp2|w(D-`m!qj}&l+q%7hZr>Y3r)~-MgbmI6oM=nSgM?X;xvt4~#NrnTH{HvGSs7j} z^M^Il^0}pK{EVjN|9K*}y^bj1O&4?AVBu@h_80`FjN1co#~S^z`GiS>Hx#qEBu;K) zYDR;k8Hs9W*qowd+u9Ub|~qui|yGO}bwa*#$QD-+z!BPwm-;|5BvRS|egn2K)J)4lFq650ot8A{?vX35MB#_4q@|wq_ zEiFAE#D%%52sB))P`V3fSD{6`3(gqvZtAA-LGB;Jdez?5+A6f!KWX!fJ;o`n6>Sxw zGJ09!=oPx$xV%OcUE|HLFQQH-qgP+FKwP(od&{v4Xxv9UOqTn1=bd}^H-Gcmr+;AW z|NPW<-TC@EpTG0YXK*g<)1SI?=huH~_s$($uW{#F?tK310Q=TYzw>p!b?wf#{n(v9 z_?bU;=Tkp+=U>CG?^^rxUw>!q&)(_WxpU|9pT6^ZKlgjydFSiC{5vc@gc1e`36KN^OisoaM?}s@NFoU&LY3@8sjjZ@sp?)~+to_v8aS#_E!o17(cU;ULZwt`aBFH+6sHz#`SZ(os^!u$Xl#jn-nQuiI5w) zhE!cXCDQ3^E@dVrA)6cMa*q`zDHC!8t{BISG|Tx$(8y1ba|LmizL?CVJ@Oii=G_|4 z`lbxTsfuy2cu80sExT1OrDbEWxXI#M_W7>0q}VvQrk?%eFXI33S5wXDzEWwF(xSR}_d@&=boYq0oavLu!Y-yC8dG=W{JkxF1jikz$! zDJey*>@XC(jX=3*DQ^1^w_&Ng;4@_IJB;@=?^Xo2J&6Y#V(CMyUr~umpqYn1pQS~I zSn?3_@VaTW7SFKcjG;$&86^8A_<5totUO}{y-lt@fPSz7w(Ds)6BiW&<0vnxA zwyRQhq`AYYmaAd*84OCdBC;hmHeYpz;BY7MEgNqOo=GRWRR z;hkV%WxKBW4XJw#yGnI2iM7Nch=d!UpJ}cEZ%=%L+=tA0R*z8hC`nh@>bIosC)}Y_ z09Jm4_(4(+5I>485ZbYm7lH3%*}hD+B7GuRW0pALi-{)lq1-NPX$zcgmKPDP60{4( zner|)mQfvhRFI)C-<)DW_=f-Z-G*#umdWs8p)HUqkZo;-H zW1Ow5acu53f0{{~`^!g+E@wIu>+-R=4y}o6v?;}X=1Oywkod+ek7T6=Twl4zE|-|K zN}f`FGaJ>Ir6LK7nyVThc{M3i^aaxm^>H#%^FjF4`uP+ z*xIrD;Dl7tkpfki*I_Ly|4@QYNj_COcy+U&gPGSwIX(_+!h_5ec(694M>$%-{4;wv zFCAPne79XbX$XdMcG6VlbB13(sWB%4a}| zh76{m z%I~KVa+nfxahdBAA|&PJ3x>+e_YEDH_f)9j>!s$s4M&?ZTi%UV-=ePa-R4EVS~_&M zIrHV+ru6IA4K=u7fG^+CG@@a%FVB8ii@DCQ!SMA79YN^|>y-Prd2T}4Eo#~FOu3ff z5-@$4=+GagX3v~g*fT8%mJ4jd-gqaoHY|wBagR9$<26~iAzm_6Q&!to5BWT{rk43E zX_lr`HeXTRWjQ!;8qQC(nxJv z1j>r?5tuaHJOf)*#c~a>?T7uflKPI&hvRMU zp&}#*6eBy|*QY=`j+5i6!*qWE(_)lA@eN`dQ+mjANT94J-@zyLu_oM%ig(+h;>k(H zqfqe^WW8Of*tvu>6uzl94)x>|>XgWIdRyM{QA3yT$&9 zWWQ#MlC6{dXXqvB#CQD?)~H@ifgXTyn{~9FVO`2aj`Ln*x9TEH=0Ht!rbewI5Bry^ zWL0R_y0WgWloikbir}eml_)}%;#?DCi^Q?4b*gqA?}UCz3&+#SDRBU61+w6GLSJA9 zkFw|F1L4E}VE@-FZfBqLFInFXzVYpF229~HHGd0+#$?NKA5kw~CNazI;So+X_Ytlr z%1(G;4jP(1Cx!)gIHm|RMnND3Y@xEYRx>O##!9lSHNv*Ak+#Jy3S4Wga4l@43noE< zXKfIkg^lzqFw#oW)|EnA*hmc*2!$mSmaH2^$-+jK;NGDiZ`~&H7B(_(aRCJd>rPRy zu#p9e`%%zu-2-!NjD;O^!!Z_5MBzm1K@^U&u!F*J#y%gNbiakxqaw#0=%1DTx3%HZ zZa4?6#yP;}c!Oh;D;HV6$CVJyTyNaa-l0ooS}$%<4vrhWl$YfaH-eUpUpf*`Zv)4j zN7kF7m@u-sQ0PlxZ^g2zkkaFQOd?dKJ-j@0sU74zfuf@PIT*POEQniC?RZo5N9G#5AcvMM|9K44%N8+2i6Wda03Gy7~+Aw4G-)fJ5d6{?*YQMEN#J+H<7ih z2tRKSE|lwK*zXg73mB zucfEi>dKUwG8!(0Lg$rZy#Xa%+t+$~Z-<85qB=dz8!UA>x@s47KthiPQPIi7za(_N zG9krVBvW|ovR#& z?;j=)rNjLF#R2~Qj(QXABHF-Q0k?A|qaGiW|1(IxAGBx5IrPpnv0)mV*QcgB*ORMT z&~PsJF0FGxT82?dc5^z;VFE6C53fF1UP`EB6wfhzr65h&_u()>37EBnIFpWp2i^pm z9<7jHDK52F2wEwcR-jwS)x46_3K|WOw1V;wJ1eNLlHwKgj<7xzgC$)JFHq-X30`n! zZ@q`!OYQ0M)Me`DQavjC-Suu&8TWPJ{$8Xq&Z|OSC$&`D!+m{4#G8e~j$9ad&9W)< zqAne)ylOJoj%KGeIVva~%tSJkR(!zH=8;`x=%BfP_%Bh=ybN3%reXL%me z`G&yfv2#AFbJ&RzCed^X6hcbsQ(@~6?%xN#YSI`U;0Q(avQ3~3WaGRBYV@(}lx*3O zEpxK7Pb2F#H^ODg3!X98+s?C;QYi;WL`hWR2}QTy6jdQzbb!63wCVix3vgc%FT4)h z2uREnpkT`|4H;*t8{kJ8Sd|0elC~XHkI$YrYi?{^MAcOd`5voSy%vg5UEtJFJk%xU znGR9Sty~Z&%i-49=D2}+@Z$3hm`n5AEtY2N&zVcsdfNRv?vWkesXlU%H7*)Z{fc8d zigJM)=}Yr)xvtN9z88ARdp0i|oV+aW*)w(0b^nStui=RRFC^wpGvDwAN_Iz+c5pQ< zg3OusM`wDMK*{2yD^Xc<9<)q@i-<5vX4ZjYqG<+Rf=w4B`G)%M4j%Fd@MH=lz= zXDZC0!q`)gclbEvWfZu`mHHBL*OOQNz^m{%qws{R8m~JY^GsR81CT^JU}`tQcN$5* zoOl0%XgRyd`mki(k*v?;WV4x)O($NUYgTs0(Xh$ZQq2YAuch<_q}NiRO6FU!WDax> z5(f?(N?>KxCTn6ynN6L3W zrIc3`Z#&{GC*y>>YfTr{>rSjYqYD(#}lAasi%ieV=0%hrJ$b_AMDjp=?BQY6p=GOL9 z)uTr_d9bpQ=-!dsAONy11g42@4(`d)X!MjC>7$ouRlwV|deY4VF2FnD47K`h+66eB zkTSKJaxyzTuc{!-DoYW1rK)Or+7prKVjXie8flVsIk&((+Cq`Gn7-8l0c4cTO1i#` z*JW^V=fPsvAYVLK9P%COS%A_IoB-E>yRm+R#G%1G_<8^bPmy?*U_ZcUgPEIEIhg{} z!SxLacpFCnk^?Xaap1X_7BQmRzds(ROpliJk{(g^uxVrzg zzNCEOVr=^HiXRicwyjF!SD2j!EHkb3FyYXtZF^@q3*3_ywrclAsYX}k$HE>+d9HVe z*JM0p0b|`jd@846(+*kyGxgO2LctQvE7!Lj*f%ifpA+ImAzb#+bTx6&+d6NHT2XCk zFaRO0jSV;&7(L^w%Y^!sP$67B*f!!;bA)>XZ$<@ujOYXjgWLMC%!q~dQk92v>DSvk zgT|m7kM4Um^Cl4GWAtBYgYgd`q(lRjnIO(#n;BZW|Im8NK8HZZW9jE?tup?g9Rqw< zIh)%D)CkuL>@@Q=B!5bc?W!kcWBzkhEcrNJ9_ts10X!Nv@V3smvC5d4*UQrD8hFQv zH#!gDl0_ndbV%^@1$;akEchI>HC$6*43`;kGsir zaHG`lqjZc?M3!Qa5m+1!eHp2|sAdH_56t1#yKlMTZMSA*Fv|Z#N1+>qhXyO5ndz@Y z7n8R}1g0W%1&_6^!d8ncx<+UVfK;PU>QEZ49K*^+ce$0sZR8Z8J$va*r|^y=-gU$! zuDH~7o^Vh)3*3a-)Y}knDhN%-682|~_}mdUxZ*}v!}9VUc7!eN!AF?4$N3K&@u4HG za>do=%UC~WYHCe$bGl$RquWYuMvJ-dLD3z(CRV-^*+J?=&_Mo%^b;h{MaU})^8vvL zrZ|w;LvFEwjt&z_814#ABhHTkX6$fe}4=pPVz< zJB_%Ho5I?3pSzZngWw%*E6Uw?H=4*MLN*qr5nvhG2ZoMT8CYNw^|=I}dyF&I11jPl z$59~^k-*}FrKr2IUmMy{Q)Ryxu7MrOG9Ht|9aTU^u&G8*@fuqiv}M;Pd}BAo*43i^ z0rLU&n}|XswpB!pM*1}%J_D<+9TrY1vNv(7AzG}0*=Jc};p-o z!>d&)??4T6trgwperf>G++m8Mgk216Jj%=HWPWed?$A6#hqRP>vL-Vf=Y!d$RcW&NChWmRV5H{ebg z$7Q-0Wq-G8(gcrKo!_}OGrO&&U z@Zug3=ik!(gL>!-^B^&OIf%nAgm>=ork)=gEF#{HNRDVjQt)UhOw zBXKNkTj7qD$|ZjVD&(}ms^DgOKFq3lJj>k?P~|?@Kbm1m+n!=q7OHd83VTOfJV1O) z@2$S&Ug$u^KI!B%U1b~6J_N}X%fh>Y-!Z5H=ZwgG8m`g5H(^=iCQPw~$c^gV3zfJ? z)r`!I@{gA)b~B-rzp#y*I!mX{)M}-cE3{aN8}naEt=G-d!&7wOR`L)+WqL1pomDzl zkzM+K*@Z%SqtgHW&lqVgdqk4y12?B7I#r<1z3bSDZsO#IRG9 zNZ#=ghg(PM2~u`a*pLX=R7S-xS>kOWXv3F-5A+*S9x84#+hs$g!Ji$wJlF%`1;>ymlyuw=d|F={5uS=`K1oB9WgZ`JBY8nP4w=sfvq|B8A z0^6E^IVdT*EZ*6=ns&Atedt~jw~wG-^TrR~83fow8-OiMv7#sFUCO*e&btI){KrUF z=!c<_(JEc46S7X5Tof%cS5RgnIoFfiNTY0%o-zD&k0yF&B1}QvjZ0;<)4(_3ot`kR z0@Ochg~0h60ZdF;(MgPSoyah6i09a5TceA{|6_Re=@L9C2}9YKaP%)wro@{ew2VRL z@w-rD`3?M$xR~+!Z5QKbx}wLV^;7PV26>&ydExT}+lNrA0yGXg1)a$dRqK&RED66> zs*=+5*fs}Nqd{Q`bUCEFVQu~=Q(iU-oM?k-eu)Ih2AAOr#!aiTenxd^N;$`qI)TD8 z494&T`i|9HH@K2Bbhb=33zGFwcad*p#te#Sm#M*c+F{lLK)mnz;w_(%`~)98a3COefk;|FIsOS^ z=y_gFwO+aoCY1M}AK&GNaIf-+CH6>fH#A21J8p*uW3cc6k+XMDKV?KL?jpNW4!HQH zF(CbA3cdRLxJ*g)UW`Ow^s&q=`PU!QG z?W0SXLVmX!GV-z>AX&HfIREU0ng1mrffe8d=D>yV>^|5$2`NX3oZQ3MRf=Z7gEevm zL1nXc9MKJ$ZlI^oK4fKXASc#E>vxcJu%M;Vd+#3f7!%fmElO9Dx1;k{SY<(3KmHCx zK0@wiIMM9h0Imdw0Tx5P$$6Y0ESVL+pEGX}0xaY>I)pKatRy6EJWqpOj83SzS+?r{ zzPm!2M5t{5FMv3_&xjsk=K&5sC4s)E=}+XmO5W(qm$>>BK*uqmzKr>gi0~Mk`z^cy z08Iz%B9sQ4)rogG>`8|4m6-!dr}mTIru|yJo%;&K>8HlU394wXI<$bdzjpxb?;K$7 zIaIy?ahD=GlMf5a=hQNFsH*k;7|LftdNzzW|5TVetJgohmwrZHZyglA4wolbE9i`! z=td{a!C!Y3AMWZ(`sc3Rr@PW8yE>cZ+o$hDe>OcNILmmZ=(%Xq{^8E?Y$8wK(Jqouzt|H!Ofy?K=>F zduC@R&~?^nCMY8VhztZtA%^Ja;Jd*jZ|*S2|7{~z=g4XpQ7GFPh+>_g?`qQ_BSYi+ z2$7vm2v?X;=-?v*ba?Klt9(g`e!?kA83u)t=@lq$k(U@tyl-ps7T>hq2Avg@Nd|b$ z@KdLlr#2(lVYJjrnw9WX1sADZK@9-e?qjQ1hljdG|97a-4xGOTIB6B-x}r`ab$|eo z=m7EnBx}5rQwUj_9-BpvGM46AlHWmk5`y>UOdT*-s604^62B-g6}Qg;7z8&BKnTR` za->XsA!xaLiIUBQiGzgFA@2=xB@%d2wSJbWlKqxv3~UyVqIm>Vj>6daJ%tWB4p}Cw0Y1 zUC~$S$_RBLY70+eWWI&4;sCB#L84&);F})t2WU3YEWaZf<&S`jA}@5Vx|{SQnx$r# zYdhtOK7KJ6A`c+~EhflLLpzZHn=07~l?63V8G{%AR%%7(V`rpJ2^e7zg@}Jc@Os#e zMP6hc@F>~^ylxT)TW}u0A@0&NQkT%TO=5%qpCIo8cZ@`j&7(0w>P82MaW0=++i927 zUWr?DmA8T$tkUxyg3uFqs$GkwjVIM{VRG19;_4Cc)K+etR@GDFVsBhRgrz2&P|MZ* z@$^=%pV5&oa;{JugZ0>SRL!|mp{u~Tk#+TTT-^|F+r)L-r7|ebX4`O0yXWP&=<|+h z7R#C))ANCbnGV!Wm!O{~*%d!?@bWK_=t0`5yb`ECK(BYAFCZyOYg5*7vO^YRs@ZN5 z88?QS6bf-wn-_~EkRH3qWm!=|8Sf{TK^Eb7gcxIw7G0)n|Dm$6Vv;%DQ|^IKjyp|l zyXTDk24{(Rf%nZ}ZEIP{wnhqeKAGm~TXSkJG zT#>tg5VAU!Tu*fPIpha*rh*~XE1N5$@gSHw^b>m)!0dY&ArT6U2$0Y43P~$vX$5i# zHqsG$?7!q8vMv&%k&{x--UU2`N3G|*c$}&+_F|cx|Hj5R7(|YB3Qo_lM61X^key)K z4rICdb#$8)_sQ^n zDer^pDO$wg;s`NPN}2>(z|G$qz?qGF`fsK|li}yzYBJyNl;SBFJ}u=_QsgUlUL@uJ z$nf`OEd~M{Jt4y<&00(dCIhC~7PTV0kt|8=b$AH|a9Z#J--2$kpr*{Pmiw@YOq>9V zYr+)*CZ(SMA@Ir((sTiWaE+|@>n1kZ4Iz?0?Ivmytznn!v`2}N0*h)v9l+aUcdE}I zZk75b`cuV}aJt;u-bTz2+aPUmyKqN23ws`(<>7dKxIpeA=2VUss;$cPY`K<;S}f!? z0mSW?VQo}=p=`;Z*(fxIiX*ac&}Lc^|5>!a_6!|>x1b}qXj|MQaML|XTn3et+~iU% zrGODww5=uaUwr+hXgSR^;kt`?IB54<#&0k-e{ZcZ1Vh!9Yy))`k|m5~h^+5wxAZ7k z+ZJKKctOhN$mSp=kwseYs2bqhoK^-8!GhaMHz{o#Vi#RDD^%K~zoZ!b(wq!-bM^x0 zt-Snsw3J_D_c=a?;*4k?av+|7*29lg!rX9q9QV>(IYW6|v}f`psKSP18vp>q4MhYf z+mXLwZy@C8Sl>gF7!(YaopTm?GY9^?6uBW@ySZgwy-x{Ny?r{_XF+e+MeqrUD!P{R zO<-LG2Nq5ie$fb2NAegFh>WRK$+2%=0gtTtS9Co%TXoS~w;6w=^V#4WVD#dECYKD=Yz zdJuihK9TKHz+!e=@|Gju(p<$F&Qzp4Fd$Qmww+^{JQx@qREPIPW>fxgeos8cNDbf2 z$!6qZjMrYcue(pfzG|QER>!4ub+!Z#IbDjXz0%&*VM$d-C5((XPW0e$K!*SWgU9~L z?%z0+VOG6j&?Klnk2#-#*W4poRhs ztQxitKTGVx=@KLx0aLfc^N~&#)}$MGuQqIOgHF1#;P(sAgsLmsJH5jDv#fVT@k~Lhg!3Dr zZbt|Y!QamWGIBIp)^PPEfe}7@@FHDRR;{*J_w9Rzx zF*%CWvM8pR!93pJQPVoD=4+6^V2?lwDMGZ|Exi=3DF;O$p>f+xB(5S!&>L(7`jeZ+ zgZ?xSWk2gSI|trCcaeEFFxcB@6Q4D2W~eZ4r@1sQOcpdZvgbD2jnGL*aF3K91F=H>E{F7<3Wy0#k-x03UeJ_@falgAg65t_(2KOiJ)3H$T1H;x7Sj0E@jT4 zqpcqmSu}Z(&M6OpYq${OIAiR(a(6yH>5W@U7@`V=MR_JVR1FXxEsi#ySnADKw_`lf z62s)4Nes%P!(x+@&3N2$T4cn`?TN7IG`k&Ul{qGdyVeV9Uz0%{*#K==X4N>y%eq|W zEslE;^ex&28>-gn41$c`oKsk5kl5fCy(;&cVnL3*LO4xK2WT=mV-T_(Gmm|1FWMz+({5TX(q9t{X^p~~l6+BA}|!5j|o zot*aSGHUqiA4<9^_+Y$A>@ejfV78jfm&?PB2CqGAV4EKtN~nJO!Thw1gw@4l{Sk~} z21@urNs>Y^&`D)@x9!@QUqjkyl7P!;8{E_%UvS4@L5zGQ-qb9aF7QWp=>}mBnJm5W6H@ zzRT(uXJO1jnWK!lLcn?OF)=N$x=ypLr|lwViY54CSsmgpr3=~xKX}an^5J*~H6{?% z80C{0?`|URS{Uyms|PrCx8l6J8@5ZJW82d^LG-H5n~IM(I8(SjO&Joz$)l_ zLwSpyY*Jrz>@49TkF{A$FfX&&b#2Sn)uMPjmf9s^561Rp z!V2%0Tv7yhyPmC&T?`P$!<~y|c7v?q!tGS`3dft-+u05D(ll&KH#s&*N&vi#GnxwX z0C>M(?_b=i>p+}5vR!KX6tHX}LoT<&$0P)Gjg*c3X%EaG?06fvH zf);i*x#D=LGLe6%&`3eA2Z%1-L797DxqFfLEfOD{_Z>Y^O;XiJuXv2S$4S?_b-K}$ zN$CgV-NJgNs!_HFck7RmUoa)2$u77>c+M0C7;^!00ERbbCh1ohX8~*7%7xpQZ{^JG zT>LfbP3+j6X*U4sIwdz4H=!92nm(K}Hyd?a2K8P|(lHkEku=4GgEp{u!VK&DChtf6 z_DHe6IG4Cu@8vX^TLAF!%V^dC=;y6rwDsGuDz}o?<_@<~Q11`75eWTd8zD7=qfA&# z>lE6^NZf}KVH+Dc8yz#s>KeJ8>ef+eJ=yCh2UY;~x+$pJNzHWMa7!%yXCmCc!Rt(v(Kh8pIYRtYNHa+IWeD4sOp^NxBH8@8oa~-X4$i`GsUS%z4D>kl3(}jUS}pWQ z`JN*`cIYFdNO~VTp&i=ZFG3*Z5xm-sA*AUATAig~60H&HbP*t{A>IlD?yvQ{>pVmv z@AC9La7hr6xzBSR@=Q*o`SX~LbrCy|`g85sa-A@6pnIbd*CW3J>HR-bNJHioBDhkC zD}ebSJBx$U1fR=#HIzvB8mS(2JgXICpG4wv5*Lu#TOa5G?L|5UI>AGahGhQD7Qy^tr^yYe(?iCWXtq#WKCh6d{k~ z7AkL*NnJ_ZXr4Y%{ekVZLcKyjPL2}SlDb&v4Z^=z@SjX(-;r0LBOLD#c<+<;%^EV(-nPydElJ%8O91Xgf|5#NL~s}{t{1d<3^;J!^pK8Xhb?|P2g6^!(wB&Vx2 zbfN%wb!T`SrQ=jh#*atm;DwXO=8Wg^x2!?WN^GUsa?rR7MVXBBS+?9*UxlR|R#yXTQH)MmlS2^joD7mbO*cIa z=0yxm1M_sM9t)N-FbWnJp-!RfMwn?D5EDgPEs`U+%M=#nE%=-U2zV0*j)7bpY)p}B zf%NqGX0f_Dmo)DomelRxodVQOi6c*@*{2{_{d_J$<^jC9Hvsu#_~Pdo@mWTsL^>J7 z*x@~h%pUzhjs{e(XO|o}tO%)&dNhYFt~*BrH|Km~&-@aEx;ya@B5C$JWi#483%JMw zaHQx+HQV+<=;d_OF`ZTyJi*tha$wh8?39bw-vd!bY;qVlXxexDT-WOQhV^DuC+x#y zz)UAxN#o2cr>hfi?b<~6-$ciNjE5uwH#Msc;3q&e#+)A+wMQCyXzv{}vz#4^voe)4 zheGnY5XmDe$9q{HS2cPjxRhzTS6q8^8hI2m$IWWBci7Lcd&&Vst*_8Sp zQjeyQEcZk@`()Z=JymnICNmXA4AV8K%;Rb2k#t(>htldYya}CLWpIp*dAL*|JdL?IWIw{YiV^!s3d=RG0PM0PI*;OQ$ za3c~eQqFE(8_)5#LDepT-vJWM6IPhdw-exqtC=tu=ttkzix+|4D8f^my3us zrNM$qpl*&f(yf^Jq0{P_y4YXzjm2_Ny~r$4i#isIMZCCqkw~`Qq9$zjT&xytjb%S9 zoj8_@^`bezmD*)yw)%|y&)Hsp2kch8r0rE9pA{)z22Mskn9AIcRqrFfCALRq=K^u8 z6i8!R%}Ebzb4~5Ek z+=VoiL&OIHhu=C_ooKc-z_|Sngg8ma6NNrW@DX%){>X4N+6l&GH8KI@b;Rev<2E!& zi3iZBCxR3{aw!B7Y1?2L)O#7JLX8v=%qJ3Zt{I?`fTZ+W!jNFXM%46 zQ8$$tr<4zt3cm%fMTMOaoFoP^=2MXO$D@n&?S;U2PisQX?4knlUvnHkQvUusS=?bz zTr9|K#}S8W7+P3jL}Cr%NGNILW?YrUfKSsgUt*YoJ^L;0U345HdIXt6fG)4Ps%v7c<#Q-GOA))UQ0FZwxw;T$krCq_`LgE4m#hBJt}ke9zwoYxZJ&jMFw}aftPN>wLShlnn~4sZkkr zyTv8K^W=lZSH8@am)mNy=f32jZKd;bTYd@IC z9uFJJvi6r##C#yr%SqQdI|8LhP~NSOXNzH7&l62UR0DY%l8TsRL}}LvFqetJuKmzX zJE^9O=`14NA&*S;LO0SOYmqDJ)XX=O`pgh$+z_P-hjx68QthDB+$|`zz`%i9QtCnp zO5KD0Cf7M~y`$cA-PcVr)s7$LW2r|%WK77tZ5+$_i z;#dE7X*Hrks~x{aE93w{COnd;>5;}!yoI3ndrlf+ssWH`JCMn3+c{yVY1Ub~5wawu z!A`C?4^W|83wT=o-I4!r)JoSqvrMEfDnvR1<8Z_^n1BiFbg7v?q#^ZAg*alRGQ>$G z#6bc=q}OQ>$9+4YL4#qWvz0>E<!XIMwt~^=9IW@kbzTAX2NKiv#>`XunA|vt&IG=*#mkO*0Ry~{kN<01ZL-y6uD;w& zU*^i!Adx`KJMB19yNdU1^_iW0+P2@a#d%I}LX>{W){%J87H`?=ZQIl74{X26AImr6 z!bH=eaJ(zNwP-dW8|u9K z9etOh8&py4tXeQkYk##urq0FLysUf04PSFr2lN_-F`Bq?aJCn0^zHG!FqLe(t&7A6%WIfzdzkD7!#?G-$LWs4XH0Z*s7 z7T#ao*hcVAQx6RDwwBb0@o4j|4tzqVM!Y;T${FeR#NF+Ex;N}|di^n((R0V?vGwDe zv4?}t`Yw~O_ubwutLGVBJaLg;Tnm#ay$BJmmxE$Z;#^b&7T(B!L26VVy@8l(BOFlm zrdF@Q6X@Ek+qrQy#&1+{2(z?e2AqZjR(l;v;m@Dpi!=R7`B|75OU?kggZ_HC=WyQE z8iOnif<4C=>POEmi`_*(MDNL>^O)swLVpphZd={rXiL?$emSO2+CawKQB2 zMXMt3Lv}x4XtX=D+N>Muy@G1M*(qwKy-f9sdR3?DQ**@ZhHi0?I7V!vs^MJy0ePkJ zaX$p?j0_okA?`Sypz(TCmnf<0U3I66#QV9ZBBiDRm2DKrxu`zXbyc*w zm#|SZ_>Ddc!_;FWAEy8U3p)EH%7nuap;ti~%i1L6Iu@;Rkgp{56U1+l;7~za>q=OB z^U!iGBEy|X#?6}XDiCOh^g)y33ptGKoS)6+A)tyu;c#@UVr@_(0M^zuMh#xG+vK;X z5jRi=`e|#nSv56xsm`fgZs%dxKaUhg~m)lE+Kk`@P%;*CBY;|j|N60W9fs{4LpHSov@NrUt`wIDcR-$m>E9|6Wo?) zn&@ji3WwJ(4Z7Uyi)9)K@77d{htPew2# zt0=EVdjrN+@ZzNRVHeuh$g%AJhAY$Ya!Bw%0HSCIkWwMi_h8%NKUA(e0~r6yd?UZa z^fF(fUt*}LvyIMHSUhN}5!h-hA@&zw$)c-uVcWmhUet!3wzxHJ>xOD_TfMgV@XCDb ze;e1wxW=fmPLws`x;ZFsTdbh}zqi<1beQ#d+y5+FNa>!Mb8!Ac4nb)xR>T3K>>+h5EWM|(M=VP4OD zD{(`y4*zL7@fWq1@5pU(}gb@e@qgLDG2WHNJ zcK)q4!xl{Preig zVM14pLHIRZBgB7`_#;Cp--V#6#LzAEm$dT+L=^mt)ee3VR&#`+YH1ji@(5nS>*v>lW-{^3fp~HKK#mfWbL27NBI?|C}vOlZPL488% zjD!v+K$~ZML7|Yfuz-|*T9{5f=8d-yDX#NVqha(_>&rKz3Z@dB{`xE@+2y@kfA#lF5l28Ia zMJ6-pWXJo9#7aV%9XyRXT)yoJO0T2{dqt4ya0IyFIYeQ~%U9beC}Q{HIQ%Hi8Ea4n z3pA$|8XFcj!;rv~AGfE}FA;ly=dgj)h2%Xz>Os;EkpC?44rZ=f@%u=<5v4ap_RWzP zM>u3n1`Cl>K5%$NZ3*^?rbWbOy zyH7}Q1tjQWN@kfWWV1zMytl)~sH^pBw)K!|goM{(qi#4HEm%xQ9wvPnErbb%!LXj0 zi|| zs}kz?!1gc#elc`k^%lDC6r>^`YG!obL3{zpra=PLBb%MgW`y5@I8# ztD@@^re=d9lIS|vl35KgP}X&7Sl0#6bxvJ-qU*+hC&A+ z3qHQpAXHx}mBC(yQt7ZZL8+Wg5lo4GIRK-=Sw%rVl*+1PI_gyvpPdL(J2{3h9mwOl z4#@nO|L-Z4QleCR$kB?LjOg=WrEJObhXEO67k^hhT^f z*)ko}FdYoNT0n>G|36bI!^Al5t4gIpj33Fn|1&ZEn^M_+3#Bp&%y9HM6rM}-&nA4h zzZDLJ90-L`(~-DBBOEvWnV4t5sBo%eOt7Fzg`0 zUJ<1F-v1wz%BUfw@*2Fl|D;rKK@l?_L8;9De_E-0&$Q;XWfP(E|8Q%fi*MPQXh5_k zTDH=f9baqB5UtsT);!XBA4t(xOoaQ>;eF|UGZ99>LMVw-B6VVv7zkNa^gdzrDeF(z zKSNZ^gAJkjMHrtE+Q)_%wgOBsIvwt(I6oAZg!0l5nBp~I#XdM)82ey?*RH;_51t_T zq=Ed)7Q%VLzZ6IeECdqfny*_3-%BinBg5x}|C#}-WU*``yeBjwe_PrJ!zdN>&5(_7 zjj<7qs@Mp)z%=LS$_x$o?>0hQf%l>W-jjg$%JzW)_lE3)5cWYA?1LlGl*{Q?2}VBJ zVC1g~#IrZi54PxYzxYK&o(>ME(Omf=;>`I+P~*#iHFT3X`o#_;E;!+hWqCw z;IPn7P+maJet#b0v0>BYF^;35c6?1M=J6d{!aU4ER4+pN6cdRTCMp#I z5(CkoRJ~QO>5z$U%ZJJ~-3xyBdScVP?u+Mrdd^pyeD9b4$)MZu21()9#YG4NT(Mtb+%!C^Qt4{Fr@fgUiYKQJ{n0Jllrl5%J#$g7>h>vURG_ZhlxZ|3gK7`W%}4S-k59jA7+b` zyz#NGPQo}7_hc$V8h4CX&kCA|DP zdH+bH83M|=IEySqxfWn?(GHOist`#szd?ct%#g152ja^}T}haX#lMogg9SQ}he^O9 z3{lf_)4OUr#80#6?fo6RMubcwd7wTdhe>5Kho%qn7K(x_da@S7yD}-%9ARdHSQS*Q ziAs8%3hm{0`F7l%i-(hAew{cG2xw2En@Nr}VaJj>g>;WI+0!mAE6R~P7New|;Mgjp)AwV}*Y zmCcmoRA0hV*Okv?k|M1C@3NL*!Cn82wK5aKNi)Gt&0wK=u+~KEXL03$Td>x?m|^rQ zyoJOl@Yd6$ZZkXnKS+(w8twvK2JX6u02I}Lx$a`QiPim)^P4C^%zn#d=IR7*0k{Ec zWx-h;6~=1!22h#(EP(iIRy@NJUNP7zPS~nSdC#$WmQ|ao;a6C_#+g^ye~nWIi@#I& z4@{n6*a`{zXL9;n___&Woy?ffDOF~zYgqpbgD|ox^K(vL$LWQbiBmp}`C zyJ$Rw(vQ!h@O)Z;%swQ=Cc-67)?Ok$q#rnM>LCD4r zIWzYmi_whkyocy1mfxfOX#mDjfGjjzQk31|ep@cabf&<_77Sx#n0^>jkQ$841h}h! zk_`p8%NFpK0q$1V!1ch$M%AhsjAiiaw!%czAU=LqVl_dtgo(mI8zapgP3NtFMYR$- zTAo|BsIKwD3xq+*Zt%s`K3(OjGkovFuUJ&)mr=5xB^K2^G-fpw5|${gp)SYqTNqtwcH+V6xS=Tw^P&&$ZP#wsXF%-u2u+Bb_}gCrx2}rLC{9 zovUrwQs?{ffknGHamP5Swz1}1}@o~ETfYpGO$D&!-ch!t+5nSHNo=W|z)s+>uh~+s+7i~!>$dYI z236`-HBbG?)sJD~Y1mSgI~p+=6-L1t*laGWr>|adiQ}E%U{Law*3+|z^|aQ&W`|)) zCwb+t_4G1)Jium8{}=1Y`5J8I7}yM{ToWq+q7a~&Th}oRnw0}YodC@$wv*FsY^Q6# zVmrxYXPAUn{9vDTFJX?b+s&}8Bq1rzzzIfHtJi?IbYw<_SyOl>@>MbV4Fg!jq2`A( z`KNfN+>?qwfv4{TRL8=jSowF|sDiyZ|N^ zZf2D#ajGsHkAXiC3_{D=2KlC4hygb#QzY^8ipbyG#|-O|gA1max_7hwfmn9IOz319 z)7*%Z7R(JxZh5-OCQSH+X}ILPiI@%eUYctC6d96`j^^4r1d7bqJdD`EP{6d+2lgao zUB?JZYw>XneN-dOlz3@NVt8`-B%qA#KyveoGlyVFV=?0r`<`d(@nl#c5;QQy493Ie zFo=^m#$Yexn;jPcFwShfM%^#MG=)Nlw1aT^R?^R5z>ymf*dy)W?N0^akO^Pm1Vvfcw;j;j3Q zp3|n!Y%jOpySJq0-Xu36fsjT>=m{i95s4`L1w}ytsWe2k{X473e;j{7V9 zOA>`ba!GV8DFWlxke`=OHAwNET*tRe1%gyu1*qU$L4x*nvd4~=eVzR*WecIkv_DLA z(*<|@El3ffXm?sVv|SdKvmr_`lyiotSagC{C*T6ZP0_;4;NtU2UdCx!7e8{GU)bUz zb(`I+ht}HIUWp@dhH&NH=aDeM)Ps1F^uR=qpledU1U+XyP56?yh^Y!emTND-b8_Ri zSu)KTV$uE6vsFedEIL$E?NHiO?(bWd&1_Z@XFBx({NhuDNivksi0tp|?C+B7Z;<_6 z)qHz}bcUv};8>8v{B?E=FdKFNG}LI6dUoMhCV*9W!#$Hm51UEbacs|PH9U~Lp3mzU z&L@5q9rP31GGUJ=QeO5dsM#{QMamy>IC@DJ^NssZ9dQ%8M_ zGf>czZ4=O%OHI6`H;*NKKluT0A)F#2P*t%c4^oEbH_x5Nl*(Sa;ZOxjq0^c$%zb^W z=iT6W*LqetrNRqTMW*BjE`;`%d*(XN{6(VCnKxMy<}GR7v8a--DeZr!%{88hsYGcE z#4k`#xZ$YuTzmN==pKE#=bh!L)44eKKIxr81ia*O@x(vXGiyEbIHHgXKP}C3|Gx{L z;lVSU7-&XG!MtCGpQxgphNq)yoUW+GwH?PVDO@$monQ_CybUo7343;`>NS8Euy9@x z`YY!po|#q4L0oI?aXm z81Gq9Q$xS_vF%}kr&7P~ky^@MVwkpv-=>GlZs6gUd*3sU;9gVaTHD1}Dfe13v%em@ z!Wqhb18SfS_ukP@@yM6Z#K9_aaEdb_%-2eM?xn_kU zn;GzTtH3pD^W<#3NoOScf@Rug^Dvv?3RM1(*Mj@6jT|*M><%hChq!`~|3Nn5S2PFy zH;9bI-1oNYZ?%tGy+b-{BU>RU@X2WOgId@fed!u#_t<$XJ$6W~2z=3(hU$tYBAzDe zO9StUz`ZnB-~I~%xJy!0`(jWbd+E}^ToPEuTlD*wEXKj@WdZaJvHhx-4eq6ECO9_6 zK`>SXzBxg)yM1CGly$^r%1${BxfaSRh4`+%P#C_lm>V7jlUmO7hHlu|4A}^ox%F7n zT%UfInCc8Y31@8709;-qVI8niYtm*kD^B*2k_IU~0G(VI7Ba-x??d%`80KiOmx*Ir zaP^XGXN9nMHlH8kx7l|Z+7d;)4zrWkFQfmu!p-QvhO)nVWPfwn-y>x9@KAD`p6Cp1 z&h(tdmp0=O?f~*YeDOVAzeQ<3aa80iOGY)qv;AQGDuYRvo<^iTpwt^$-s7k1?DWWo z+l0F*ICrVZ0c#(BU)P0aQIyeWDVQnr8>aucx6+O+OaEg&6Q&VW zl@2IFngbKbZYe$J4M1oU>9vbEce1b1)hI2Zt|Nk-o&u*H5e+1OeYbc%D??ms^h*g) zyuw8gt5S$W=kFJ8cbm@FQ@)Hgi8@bGKQZe-=9lCz^V~OcIJiSlZIHd@q+deCA^lkv zFHQNejiN&ynfk*2Pm*4c`V0LXtd1y~w?zJC0S}|w-dXQ3z_ZBL(c=7a z`Ps7H)#wcyA^WiS6G?LHb5|Q<8(;V&_1mJG%l@+8rzxnDT z+k>a()de~AaOA&~gnvl~szg0eShunzx=jwke&&B?45;ZgFHr=*rDvG#P zbU&-Ka{N5Iq|C=h(cV%j5JbZ{h|HzME@S+xi%` zYIUj5+u;T4R3A!rvf0F+Emw=66n96JxX;@`o#E;p*adb|kCL8Cg1f7@$SAwn&67RY zIO16)Ka3>=>y$&8L|7nO>LiS%NDY)pG8V|ARNo`?lBd-8)*u7dL9xmQ70~%PaDKuM zffx62;cjVW;pJq_kWgnSxY|2?kVLBEMA2RDTG+s6DoQ;imT0T+L7l4pHZBSTdK7yM z>8ZY%&oOUoI0l;4af|Ut{cxh1un4f=K~vP^eW&V8CT*&wy(*@w$v)&FzS*DSM;stI zEL{=c^y8WeIwjIUJz& z$TdF&yqr%VGEFkZl!}H#P-{)JiC0;%j`JXj2h5XHO&PT4YPJpgiGJOopEK$wj`J_{ z1RS4-8*Xn6E{@|YaH-F7;tstjoON*G7T99QqoEp|Sjjx!G~ znl{31b?Aby1RjsE0; ztfv22lTV<7*@7PiB4WJz?@Ikb-Mmuw5HE1@ep*-mtjD-&v+JXP*zx>g>9DvCS4tlKLj4ZbTVmIybxb z^18l)6b&4eUw8Q(b$ur`BcD1!spI)HKlgB5JyMs)D)&KBV%2tL4WmZFxpjfP-o|Zt zEW8A7D638C-?gd7+6dL9;w3yEr-j(XR!cJSIbP1h@>_&P8oPn%_ET>VY*q(s8xx78 z9Gcg;@dSpqWSqLl)|poYNKl*F%HOtcce))%k}}cN+E6_!MW5=$DWm!abU#V6DkAM+ z3@n#}K(xBYEAYr_uphDFS$p>TOS+w*&Rui6e9yV1qlNH{zN41AuSR+ME8Bys+F^D` zSV+^Ev1PlWU@?)f8FkV_5nM8X*_>6m@N}^ta)y6SB{CRp!XD=`3lx`|C^BnFql>;M z<~{}7Uh1}kf~`aDZEtWWYmIQnWW41uypVXB&QQ2nmMrOThT%jH*iM~`AjEIg zb&t(GOmxw0gFq`6*cCFKef)Jhe^dQFkH z3T@wUAWeHkqH&ch<6fN-L2H$!fWtf1@ZuM(IK85Y1D$>x8OFooS?I%y<3%SxrH)+- z*`-|$aA=e$IXMQx^xd3e6?IjFxxnbt0pn`nr9E1_C*ybUM5zi;d)gZDFYkgWxmvbg zBf~$c;P)!NO$6sieXhg^Exl~3SD_wbF+T}yZ|)`${+8aWcKjFr$6?tW>>-bW>xtbo z%PVe0nX)XP<7w0|p1c!m#E6h2xbCc-@bL@*GU6`dcHy)y8Q_m zfBT7VAUk3hKlW% z%Ozz^WHtY=EIlE;8)fNE>A@=zSHm4kRwVvNZbmb`rWZrf#u8KoCG{&!m6*=4bB^DRu=5K zq0k5set3{_@hKuX8xgdz^KQ(n-fz$hm<6UbyXrQ?V_UYl#HwI-FKAcb-ZHb{$v_>V zp?74+uT3FH-E@s~wyFEWj2`%=Os%pIVH2Wny9KJ%g|$KqNqVgmWb%%l!Xakm%^5;Z z7vpWk&~Rvb)T<(dkehZ_RA0<47%k!)jKXxPy@k1v0SOcmD`QgeU(?Z9RC~oEmh$wgzeb5cIOaTe2X! z`9f`{Lhr9Txzdc8!7Mq`mSzcN9iyFvjp2M8zXpI^%Rg%K0=ByUtPY;xCOQ#;MAcJ0 zA(;sO289<4YWM*DLxs{eI)ttv96?3^9;^&FKf+B<7F}yak)g&-O;%l@zxd0IIesr@ zvh_kCSHN=*iDO0x6sl+NxU0BbxJpA0hz>5<-n?X|BwsdM_~Qj#d~@{7>a5+JYsdh?VWagGiWCgoh;p18 zR7pwU`U}S!UDwr^kl!@8d1>(I`ADSTEN(j836TdsEt=*uu?Q95NEUktNijhKneVo0IYb(8k^+Ar2?RF`d0E}O zOGpN+MvmYV3HTB!ZPbO^MOX+66||tiQPtec4U+Exd;*TMm3&FcA2F3f#XEIa`fhR&so;f!xMH^C9qAgT1fRIOQdp>ECw zhi29ClzXNBq#JJRvAI(kllv;5AgaHtHT$k^ACl^7*LgsWOXYM0BA)L1)T&UI(JJf~ zjXO_@FJ$9MiK75%Xv&1bF11@-m7JcM*%vh%&c_My6HxQ;QP>`le>ccc(*0HZ%VMPZ zObseSwt%3DcP7jYnyJtyEg;o@JH2DNiK5N1?aUS~HkK?Pw`Ga?w!cJur;a>{_A=jB z1_XbR7%e!48GL9V?B^BgA?>1e^>WIFGH7A=JQw-x3n^7W7y^AIDf-usMKp-G(8jSya6mMD;Ojh9v42=pr~R)lK4T zh3ayW&K`2v-=~}B-c;GEz0X!toEg{4$;Bz<$t_d%CjV+7hnn0^#kF6LnR4hh>DGH} zlWe_kvNz>l+Bw$DlL-X^12^vj(P>REY`bNCY~CF`#f&1kKVK-YVcW>Qn?6Y7DSk{8 zDZyAGTQ2h3yUmxvd?m;pt!+(`6;(*S6nM9b03oIOu!a<5%v-|jIN!}5l)u{shJKv> z1Q(I5@TIr;b+VKaNcsN=?-j8p3JFEydOWq*?CTA86gmhju)S1qm(;LN@s7HMO$y$S zDHaG*Hj_C|!FfP!a{*b}5z;*n(gwfR+k`5gVidw>5(c~d8}fI)xmr+6eOHg~UM~^Q zWEQKv@hmUoP%f$nzoNt#b0}omd%zC95brbHgAFtlUA(x2(l&cIZ@D8OC=JPeWnDCN z`FVE24xQzxAriv*7=1RGxa;B;r!iINNrh^#fLunpybmq2Gh zt!L^Ig7;KAJ9rjQ4!y8eR2xgG{UZ~8V4>RWxw`(h-7>zt8;v`ZW89LOGwVXhzJ~^m zB4w8}cL1qs5rQHdN{HfSxIHFhYUpX}tV||QuHF!D*-;OPNqU?Zr+86^>hWMb*S7n7 zfx$DU153{6{Z+qnoh3=~g1mVPfw5=?bnR>(7HZJc%usEa+yho2;~W+Wej@ud^r#2L z%)B!P9qJVTXqS`zte{LZNl6t z%C`x9tN4X;imtzJNvn{UpDO(i3cO+Zu+5g-$xSoMsvTfEX-(Z$;i5H^RYJ$md|8J1 zN-l8bjC8IEi+pio>FJmcFq(h^vQhgG=ilFK(dQ3w$n$WE$sUg4MTa3Gp(MBzQ&i`QrB?_q5PY0VUD@MlN!%_1zoTXv{WpTg#&1LMqMqt$hx&O?eAIDBH*-(5uF}*DrodrH$9!_++?lI`oc}km(@zvjz9#^&Bg>nUtG(8X^>^MfiX zd&lDgwzo1N9Qj@pz8j@)M47OGRyc>m;rSLc+_Mx~s9xFCuMx)~|6$l}y_y<%bGoKS zn{~6up!4Y*#R8o$y|9^^t<9}7DHBeeu*tP{6;9)*I%{I$&d-I>+o8M!qo){(bEEtR zLD!8@nAs~Y`=u0`)8ZFlMHZ(7F_g50heEu+e~GJq1v%o$&EAjAhp6G=c{$;CvZEdP z7%Zh(^@znP?uzmcML0+;5e@F1zXkb^g0PJ#*OaLjv2IXH8^HQ5@FW0;?iyB5u)Fs+;~p}nOCo+%DsWPS#> zDa7GPkL+i{THlrTjNkJt(P`f&aJu2=Ps@bp5A-J1{{9&O5y~s1v+fpla4A3WlI8y; za15@KO^e$0OgjAQPezel%H#~ou%BxU%06Nmq1c)h^YTzRTRdZM30bHcQ_#_^K6{0rjR7ob_YF@S7DrRQOXg$V)`;EF8B0Tt~e|WmU}=EzanQG_FJq0OvH4H5z&m|=n@_k zCe0r8MN>7H3Ae&~C087kYdadQmKKx+up28O052SonosfBlw?P>@N}Ynmvp_9sNX{d zKK3a%Iuf`)iwL1kt^i*v&)O+nVk^M9zBoCD>ikF!_6I3WPf?w759G{~$p#NkzUkp1 zu=_$1yp*_qNC@)g!eU6^)a{OoD^r)Bnx5wlTM&yzH$L}(5?ox(e~^mz)BGox{{bb$ z$Wn=pVRh{L1ludXnFAyx&hcN5OAHN!h~R9gIN4=$v>x|N;)U7YF4@YUIbva=-llLHN=2S_PX|)L3 zf|*cUns`25i7t)_(F(*BUXT)~I#4Fnrmrfm5G&Q7;*xQ_Z`G|F(9SAjqsVuO#`vCm z`~S72?JaG01%0|#^tECF7DgDV9~W=~*m@=`A(q&9=ROvy$%odmYYO0cwuII%w4q%v z6z5F)dGx>i&LagFa~UwegOBH;=b>j#%VF2X?=7<5>%gnU(wm0lLAwiw77w;Nb2sUfviWtBM3&J$zY@i6ZW2WSwgvZ=)du(<8y^?|YKX%_9_9Z>q|Ti4N&DKLWjX9} zKz%WFbfz9PUjYCH!^rW&9lA=t8?b0oVc)5y`&T~Ug?!3 zb4zLd&86z{a)NL}%?e90UygkLFQumBAJgUs7bn?`UXU=i+#~Yw7~CiFC%SNejTCJu z3vkuWkVOpd4H9)Z>b~PF(chH^$}^;QpxdKvk@ju;OZZrc1i3aE#C#czE05xZ9H0pT zpiU9ydomWGK0ja09a=`*7y2k)04}OV4_J@=>sH%cBg!y0ICEYUO%Wz0=BVmAV?y>a zY2DU&tu#8%?YM3OE&{ClS`T(W+zl~s31RR`N&I7W2paAflBRY;eZxEfz;HQAnfuvn zab=Okle}2Uv9X7P1$$*de!pN-(_CK2|4EqnRX=?yUyAQ?jx$<0JFgF>A52;=dn)HvHA9PZ?xHRAO`e= zDd-(j=vq_In|9GfBHJJx4YAWx6b z;~WnAn00a5D&Po@o1e)Z(pJ@c)z^GD*!g3%4uAk9;ixKIerFZO#nmOqzoXmB;^b1i zwlo{BMkzj{B(5*UHxh&|hf3_fnOr5SM0eJy8W+^|(E`tVZ+` z#t-pA#_9ZdH5}!NJc=n=hBbF)*S@Y0b7q#jKP6eF_YTHMNO7|eLy)z{!}FWJK=jV0$LN@&nt zN0c00qEo;9u)uUpmoQZan*Gw!d^lA&PuIwHOT~&BH*^~$&bFU$j9pPHG2#`x;Q`^O zC5A^s@woNY_~tD1P(zPYw;-z;r-^KV&0PpF5R^W!72 zNCNq7jvsSm%FmdrJ$uleJpD+kqHktmpU9scT58qc$L$|n26Cv&nRAYIz5)gsw5e_z zME3~VLNVE|20{+&A@eD6$*MCzjg(8Bc2xCjleJM;MjOC)ENdh4qarp{0s%zV?G|j` zMWtd3=G~MG7~VyfED8L&ga*Ouoh|f(cvwr?p2>59y5hQsa#TDyXKVLU4@tfp$bt57f-h&||JW#*ugvDoPV)Om zV|?4g__YI$JH>*sGj|ajUF)dOMr9wMlPQjiN(f=A_#g`Z7J>PJ5!@{nHpW?&W#-hu zvQ7TNYR+{k|Iij^5ktdOWc3`L%D;dB=|PDbBD{g9 zGl?5Nj68#{(JBbYhi;%w{s_MhEH!mi33|5qfKu#?WQ3yi=W-ySH=Ijwhp%_LWjokM zLVrfSCOm0k3FVsPHXa`sz&U>ul5=NrGw{KI$DpLbWdfy*+p!zeislAY$+jsWH9Qm1@po!PWXBN zvrhks-bRk4(4xUga_z=C%mY6l!vhDH2y+hD+?l(}T(!kFD4tigNdfdD{xDFtxg3E~ z@)XX%m1Lr@D|5ct$iu1G%vho;*7sJ{ltOTJVFg&~;5Fh$*}beJ4#eEAA1Z$4k>JK7 z*28x0;8vt&0lDWzdwHm9P^^FIJgw`0SK=SaBTecuP^<{Xe_PLWeATzy<93r_tE3DC z9S}1E#1emTToz|)q|MX1{MTKSWtt|+xMDYPuCiacPp`MFt>f#XthL>85qfYhLHbUF zdnS4iqpV<~>Q)$nQ`ri>*CwZaxvWGxx-;i%2%_p5`59O-dhHy29A%T{o}+BLO?$2_ zY#)87`B}A~i{}c0jAsd4$OC29MW;ssT4uw@1tmve2W&#u^m-#xvS4sF;ggj6=J!Gm zED?xH3&jDy(q;yF3#JjkMLxkiX3{>$#6w`2JM!J4!Nek{?yIu-RGHrpGI3L%>~(6g zSO5|kTs=9S!4GSCTx|P~0AwY!s0oj{;v*zS61WPd+X*~6HtMa7x>U4Tb0dQry2 z)(|i@52rf$Dlrrf4#8Vi=IC^;aoNb++K;^5aLk(U77_jq#aejF6pVEC$#UhjdMzOQ zZWQJw5%BkRQBdB19vf~##h7*?Ag-q=_oRa|rLVq4Z3ItT6;v+_ay#iAXT>@8B^V!B zw!o@@;~6&xW2|^V#<1!gCe$TD_M1Aey&v$Q2ZH)NLHIws|B_#S&Ii452aI79(FgJ@mKxGk# zP+N6{oh@?AEuwg{D3WP&v%tmu8^2EWVwjJRz{H&g#HoJu47j*UXZq$c{E0CY26MWc z7v~!90+T#viP*b%zY@z+{Y-DK{TtEJ{;psA2m)aFv9CY$fqbwXvI=!H3e{WA)76>w zaZ6bq?AoAP`~{z$ymqiAU;mdES9Iybw9-I)K72hf#W@EJ*2=b-WXe| zkNts`(;bw1cIK8d84+v;mB$8Ya7|Et(iczr-r+%T(YHu%J$JDMfQT17yShL35%hKw zo^2JH^#M7ieGy3BddSeNR+XB-(Y_@2wG?U$)zJLI{lf2y{o+k~r^!wI<}W5gjlq2L zX@|q4c$59Z_f8AUd4VlRgNNdhMQHwi-&K9GYoNtvyM|xvD*nA|{48nP_{?80@+A;H z;zZvz?!W|s?GcCa@GPh2MJmhe{kbJyW)3&n2=iO$8J)^m`DRFbgtSd zym2SA@*@@@8t4$z=aq{JtzIlH*a_sr*FBSDJ%bJdIqlh=cb?}zV+?>SB)2#Ese z816;dWK%)?3y2vTA{{M8gP*w9`jmOk`m$!RcOHpxo!uO3D~HE86mvi<`Eg&=f&riP z5m~OLnvJHlnkGf|0k=5 z_7gnnY4>X-x2NcPB{>Qm!MG%D=Ec9guBEof&x0PAVCg+Z>L_B#7dP4}U*aDmwVPY{ zRd$)Sq`TLxsM4e4jscwokZ-kc`Fy?r8iz8WFZk{R_8{LsB5Hzx%CjgUQu z+slP=9SRf+`d(i?@ABn+zPi`%BnMp_k*~a-hhewS2I}$&89pk1EDMjw z@K5sRcyd_#&7kh{6k&FpbwqNd7zZ`v_sn+w#Y~%^L~k#4uNPD_93PFN%g0gA23H;n zCN)()xoh_Kd-hVJ*x(Km=3MDsC(Jpn`x;YW9%{)Dg7cX`>^5swkTl^8oc zk)o6}{E$_67fR(^2_R;vyPCsgq$=a;m0DM8*s@Hthi$ghaX4!f#h~U=5+g<&Q#U<> z1X=}WGwao9r*si#%G$ywvf}HNn8Bz?80KqsTiRV5R>9R!cGg3ZH}++XeYG z$86z_58QJ0EZ7wDd@9)C5cPkDus1+QvND-(p-TWlw&db0hOkqfZ;SXg*Voy6z;XUp z&y>^TP81Lv3>K2x!`pRAA-@g&&f<5h`NBQe&3&nxZRjtEtL-lIh~4(T!9ffQ`PUl# z0!i~jUjKl{vBZVnA*nfs@#4cK9|!C+0f{``ukwcrub2{RCNb(FVSb$Nf)m9YBccJI zy7N)jOx^lp2?EU5TaEj^=`ov;O#h_~3s6}N_Np3RyxH=wyAgEEAIBusd=%Szwf=Mr zwcf8k)}crP3ur)#_0YwSq`?t_+FGMXI(FHHA~<*?^V-J%L6TGZ_rV)k0lHcuah1uWgI|u$>}hpG=Z;PLqp2gRFu(?#&oA{ZToq^uYlzKo-)jv^V^qoSHZVlGxa7whZh`i>Gd7ygK zC2`7mgjFKG!9jH@eyCMs{mtti;7l2dfTX`M#qLnpVO?O1=B}~>l*I#F}Ry_Z>_#1&f9=5&|Z z7H!DpDP&4hU0tg5kmIbfH;Vh7o9qI5W82N$4P^`MTiFVGmE^YR&fJyCd8s%hwb5)Q zJ9Q5MbB)CE$6u>k^2B3VE=WaSp?*nY8ME*tq#JM|xEt`n$UrE`3%Yk6;cnEfMw2+*ESzs0y@JI7*(<nr7P|X81KjMG}y10EQDgPYM zV}VDnG_HIo-fJ1>qYjLSeqiW@Qoh{fTvQqe)#WLeyZ_23CBN&uRIUyNjqYs!+Hm&7YSdlAFfEX+&=wXSJe$?`Zi;iUdxVfQtQ! ztt>r2wx)bk3sQqHfNa0vwI4A3cy1981XzsOp85H6Ao_(gp^%_WQY|Nk5(SpT}ho^=yCPSkPO7Ok%q#0H2gWF00kx1F%b?PPR z+e{Fl`T!q|0yHz$b8E$XjRY??9y7&!52o1`(_m_c;#D|FlwZnqxUN{%rmyYL*Gav! zEf89Q^-N};#SsxI?p zolw;>tcF#{ZCu$F^r3+gYdq>gDbHdb!vnWEpyXoVIlprMx5L9BLtZxv48fr`JBW|D5vI5g!YKts6dht%*W-jTk@H;%suAvXbxxx z3gu!_P{r8@6cyL9xjZ6HI+Egb(zz1?s+jPSxTmPswWde;Y8Bkd;=&GnQzeaqQ%eN> zWw-_tpy)qUq%ZF;>f7C54S8ZYeYX;a$?|epI3bqD#mSnud`w(Emhd%X75AiS9rO^W znr%QN^ObGPJ7x3NvU-P#l7Ld*F3VTTOwU)S%R@or1>wo%<4g_zB9QuP|eJoB{?b(^(C=h#HDclDFD%E=$dC!0iX z7ep~E6zSK2;twhBhQ{O<7a}<3(7`V&=d#+w8xwI$5%2f2Me*;6Goe%1vJ==sy;w`N8W2^%mv+(%AQ+UeJ?`oZpM**HFNy&0R*y z5)~_QHQ$T74VJK!Z93eUjio7?-$htD&f%o;i9R46tfC`?{*L;bTzZqu%vSY0k*$fA z%wi*}#19D^o+(J{TgWP&6RLn4z%~0j>y_=nyNL{k)2m{w2v>laPjz+WpY^0~r_=HEf^TY!*9k?AJJqC~an6TN%qLvgfIi zjigBmC5k5Y7jp&D;!*9+X0O2zy+t@L*6V=USSuFug60i+C&`i2l%=cer~74u&p%0r9`)OX|M?(PD3 zTwFN|G~Lvo1JAgH@8M&^jc%S4-XCoe<#E~5^9;SmFKQ0QB7OO1juMeVrHVLH%26O($LcX+Y}H~5;?C`yM*`wUu7|BYBqEFo)d19VR8V;U zLw4|I=FpT3cRdh+yTJA9vaeFi<@+ncQLDm>ESX{(1SJeZ?(c#ABoKc`i6w#CM#bZ2 z!vq?$2^*KtC)pBWgjXy1J|v{fsF}8FUlX_hY<)V~*u0rDCH&HOnPT@h@6mHdJ?q-aVnWF4UYE8Lp*Im}j<>12_%f{kX70H_Qc_Y;<+q zlW9b&rEcKAcANhB2N;%B)Yw5hQXqhXkS7i=Yz0Ac@ID-FJuKhhc*Z^%e zH$WhuD}i*RC+w`~VvlU(dh(E>oGkc-p4P^4YRXk_q<1$n)Aw;cj8RpO^v&vg*U@?J zKb~9}H^a%R{o?ttyef|8sP~C%nS6x0q>hc%>bUjKagHdsg>RtFuu|JR2oij1VMXYh?RtWf8uS%;|#a9+%)J`NKO)Sjh_OZM8&kpEw z=5?WzT4!Woc+#YC&KgFG4ga*nJ0tN$bGcc{*)pB^5F-)a|jn@jBEm#T44gP4AOdxFsjjIDH` zf3lpiJ$0rKB80S&d!WPV&R($J=0(98rbWIE-vkr2e&2d18=tc@+*ZbLPj&q`3e@+> z!G~Ev(Ev>O-Db8r^DOn!IQ+W9DBjSLtSsqOXqZKI-HIe7UmjgbH0fy(6{&W_`OQOF z??;6f`!#l#VcSvDEoO-$#Z^0R{;b^0hVvoSr3)5|bZ?S-h@v~8&gC{DK)z$uv2I`% zG#`1_`^x(9vVMYc!-Oz>QFg7h<${Qx;!on4Be=Ncpc8zGa77f))9NRd1x81x zNQ8`1H>u|R9Q0tfNN3OAiV5DtpE^s?b`xZFE5}H=bKYweC-~l{zBkvhafNQWwfYfQ zX}Xjxb3Tub;M>f9#{p!`{KJ>4#C$va1Z5*<&-$L?TOLUIHf+UOHQvuGj`p;|cuLt> zrt0J_ULd{aqP-dZ7gj&%CW~)< zaCn19w2e7fBQ$G*C`$rh4`$oF6<2x1*|TGPOT<|MP0Kq=1ZRpM>qXU|2plL}Mz zsWvM2;xxA%=G%wPDen4L)e)5;hHT(0(RQZjJ20sJ(KQx6bEkY2 zi*e5zg=j-cx5>SnPuz~Wk6jW`BTMJ@AUQ*~5v4xLRL(`Vilc=(gaSm~Wh4{N z)PY-$!dY>cklWJ5qsRm(HzPiYvb!SWT@@lr%5;U9?23B`l^fb{6_mb_V<3IyxP-iG3MP>2%)qI#46x zV>~gzUkBu{U3d7U6>j-FH_gZQ%JjbG<|9-7iDz7bz&aJ=Tme-H9`yMe@@CmO{-`ExZ%9?kEUr%8NjFyr%A&$3Un(!9C zJ^`>|Qx?62A_r7gkAMlI&+qWcVJtdG_{!RimF_g#J;E*bk3_E)^AVk`<*~cTB&EDNv77&P8?S&f}yB0_zSwql>mD2QTpWAr@ zRkEtZ%~>m7^1~8w{$O}ROW(-$>Vs%0nJiS7x0MKavyRhuPq7evpSoT&5z=ltIvANX z5_Ui;+rA?HW>Y!R?C;Yud#GlAyZ;773au^6=dzwQQ-oIqlbzsznYSlFQF~&tzeDp@ zh9O1U%DD|CJS0@H;Xa=AC_MMzR1@~Q;>&mj=J6k*CPt4{MXUHAHY2>r#PP1Vl zb9X2%4yw5P*Mz=rKJ_=OQ}+!b-4JHFEzDz+FRTdV1aoI7KKA41RolJFy$|9X3J%-s znhu#e(O%5IDeOpVH=6J(RsEVo`Si>?K%(zFz!>AzOns^l9eNAAlcBA4U)S@j7bPb@ zkzy;`Ym^e8*Pat}8!Ix#(Uc^4yXM`(JWOj-5v{RkL(TGQJAm)kcT&JWf|n)sOTvVQ7Y3Fvdhff=31R(H&-}wH-s=}0^4$mh z)`$EcU-_d>$Z`F%j{c+#^=IYPzPHYY(5T<6_Py);^83Dd(GOqn!-ssFb|_gSZ9qgF9h#Vr4yL{X#56A`Z1cd)v$%jgautpw%g`l5UN}0_T3&DIhTZ1<> zJxjy%%o1B-|FRyi6l5cy+u4Rex@CUi8_AZ0bM_l=xdZr$qIC z`Q~#!*KSS@Y~@|;-4Tij!AD{8yP);yAo;UO|D*^^gtsQ<>7a0Npr2ReM~pruF!w3% z9Tlz%5*GszrJwA389$i~_eWue>%EXoqpw2oW>9@QDE!?dPgDMNqdV^EOe)R<&a|nV zB^$&-w`lr*bMivOqU{j|6^|UN34+2_&jzLlw-B5uK)_Xo!k10d4GVL*cb}?n%!(Gl z7F58axno!h+sq8{QdRo@$kHg7V}+cx`sqLnad$W%V?jF%gA$ zCLLi6eqpwmP9z!vEq4fF&6HZ|q=qr=b!DI$R_1Z*Lx)*!P*xPN3P4~_I`pZyJ{olt z1>a42^F+r(x6oTQ9-jIl{sQ_B&9&&ViF4;2z1^?@NzvOiV|1mu^~TA&lCzHU1sZpA z>K;Se#>!p*l)RJAssfWIs|3Vq*D> zDLR47xpDs>u8%?RZW{v^YqKrtKsi9%vAN+J*<*Hf&$cSY8u4XwA$-u>laA*B0lDqy z!l+Bc4WfFz=)FN`)E(+hUN44j5Z?7-_y$qDUVMXXG#IT$y-#9vY8#UjO^a%$hhOju zZ}|`a{oE|ly0XwL2sL?W#_z;UJt54w`F`pCDXzX1d!qgISigk_7Ao*J;~X629J(F6)zA>;@#0Oc1H+K>umqSDCu@>)&G7+7}p<4Xk5 z`d%y%%G8)4Y}H}E=zW6)6vQgx&Ka7gEpVGA&8Z zk1f}TO@}4mji;priLHG!GQ7)*LY8V{Tyte6)|LsqHTLHbE~wRX??!4&X(NI*qLLT9abpkA~s*zt1V3*{Bhl;ZAaQf{FB%C8;Dw=F|v!$ z<9HSkdzs%~93}C2(FqB}G$JhkD{czyHyIksu68(HEX7%ihj<0CZKtT%H@m+(oA+19 z?k_zK&)*KGN#~!;AT~niCt~zI+iyf`P~5QHS;o1RqMt?^eS}}Im~EQ%F+z|KYkh|{ z7nOiZQQAJ7b&1ljW$8I z;4$NBsOhNl>$`n5i=QlZ=sz_mEV`4(l7|4TqcP$K2m~U^V!m9}olsRHbW6A>F?Xv$ z9y=m780P7L_sjL#*vJF=oy9vvQQVH><|64lK{O%3{n+ZNf{G&-hA}tUH{R!dEaD*a z3PDYwL^p@$*sPJ43rJ;DHyOyhQP(HZyq&Ph+HuQqJ$~zPtNC>v5IKv-;3=8ZQJ}1F zM`w}L?wIH0j<~Y}qVYPQD_2C13ioKCccOwW6QX>)Dx9P!@Y?Ye(>p<-UjtF1=InVk zP%XoYRlHOcdn0QtM`9bfLg2u5#^4XpVi3X z$F_7gx>WP2_2cBfei@KVlXk~lW1MqPs7AWtK}#p_1v>?9f$K!$aschHY;*2BcfG6U z6i#6=9-X~e7w=}s&12!OL8i~m&&T&aBc54qBb#~$=E!K2xmg@z;MHrf`PTES6{1?O z`z)&(#-#P@P=uvXQ0%pFB_Q0Aw#F@xS2X=I3A>FwiflHEPl90DlF#@tN`FzMUP>&2 zE#v@Z0#U@Udj>f_i_80p?|EZ_u}Slu3(f^@`CcO)Fy3b-_#7OUc-R`j@q2hzH~Mxq z&2S(v3vp%x@k4^sJfq5DPp~zA+3>GvZVk(M6*`MY(w(^|575nvXZEPZ_L24YxN$kE z#fuP$ojtm-N;to{C7%Luxjk69>6Jja`3oZ3@f#HW|*+Q_W@-UG6UC#l0$hgyhxSF4SX|d&}}>8{I6| zXa2Oc0*i1Yd>KF0dxIY1-4Tp~B?KbL3iS>rzM2W+;`Ri_tRYUM76`MB77(HBM9bqI zFdJX9?%&Co>$mPKp2dAyfFGIdFS)3Kvh!+7(4u~?*WcwCTKz|@=SjLv%bT_PyjGJ< zoqN@lu#y7u0!syNc5971Kp1N$7b7yqn(OYmY=ofI856`MOLKyBFYGDdz^pa~`E0H?>KjcWqv+YYQS8-y?HnrwZksiM|* za8KHp#pk=Y<|4Q)x9Di^?CR+3T*7N{aLYma^7=$I98cP6{WWB--`Cme_4RYi;ao@W zX^^5p6L}wh)MefP!PhRIp@vEm1r`27VcrtmU0xo95t)c6 z%oF_A2yvPVrG7@mFEX=&4=VA)6`P?d_fc<2{iHBwRiei$q^K`~b3%GlT&71?Yr=HV zF*S8;tr@0UuH4U+oB{4{S%o;(3l+1CIHLlY%jp$hOIHg2MQJ`pWj1@68-&@6iROyG zspu1Bz)ezTE-<6ixASil!ao(nYXxzB2}n%gZ6f{(SvCIULh)s--_Y$ZxcVixQ<{lk zIt}+{aS6&S|U&FeE=>1X^-%boH-(Z86;$5ZR1J3NX+zuCUOnBKkMfj9oI4*2o z6GF?ZlKF{Bx{|?y_d{8je%qBVKy*Mju<)w(Ueo>A zUmH8ObQEA9yzp`H^^GrO`%u=EF27LnbtUeAL<~Yc4OzksTHJ;H0Ypt#&hUMaK7xQw zE-zwE-BO7zu9PUr1?#qD?^|mJ`PvHF#0_?kudfsou}&Y@)6-B(3bP6044P}u%sxaG zT8aU9xu&=8KUm9Tj1gH@p9pu@+$X78w4***sm1zn12TxWrh1eQnTo$}5=bH+@+b?p z8_++HZ6+L%VTsMW9N98r-zn{rPgE3h+-m(LfDTXVobGMbKf~L6jy*Ta%*?}3CFV?? zEjFFzvS2#~Nct(w(_5xnmFBB$s#{N-XSQU)TF1+ahO*|);@^tixUYl|sr8z^{aE|k z@VG6ATnS??YAsQm0&e z_@rl^;#IeO{(H~7MB;Gf0rkjNWUhE_s}?qQktGhjwK>ldS7xtL9bM*Cw?Nlw%G#GR zXGynQE#X&EyI_H3YM8HHVqAaA7AQ*SU^SH7{lErnLlQ}OPb0BwElb~S2kx5Pb$M=p1%5rdJppPVGk5s^@ z@mB`kDk#jO)q!^sEErJ{x26s^>)p`So3njk27q%CK_W4Vc|+LDRtD+9>jw#$vp<^Q z7MNW9m?kCHGm9Nkf1JgAv<2lfUKHWnbDna=6R!KW!2OU_lc1Cm3HFEwe;jzP1qzls zw;Xr`wG)}oQ6a2 z(yz2037o7)^u%J0RWoXo_TUVZWki(GzMru6QiK`1@Cb?jram5Aq6Ys4%Lp_!nHZzv zycob_VETpUdqP&fmkic5LU0D`vA1s z=WMLng>R`$9R@EITZ1S^qLh#EnQPaB;mFof8;O7uVF$GE&YVp=7u*pO!Md8!`0dZP zS+fUM8D-fl5XM*Oi1kKgN!*ud&$ChNPZWB4tKaGckm&P%2f_^;v8%bzKdlPAaH)-s zkKo9WbhZ#@|0x)7e4l?l$tIvE7*N|Kw1K}l6Q>0^V2!rsEWRVV^?pglQrHY^8+C`h z@9uS?tKuxYUI1MiaQ+FN5cWR8Kse)I{G;^<8ITX$y(J$6Oo1;0Hw%GDqP1U2v~PBc z%{TteL)q^P%bmp@wsVVWiRQ`mc9{&=U)!NebZ^cP*dK+mc=`uD6x^s;vg5@&N&MwDBC}DOc}b~MscUu zi8TRLh%;q9)w%4yJ|aQ;o+_`lJRpyO_6?ndjWOQX#{P^-JaVx4u&DV^Y(7j!g9)%+ zW{rVIk!XI~*s;#-hN<+9_P)Y!$6H3$mW>}>!+vXn%;5D_W?D7nsbae|&qY-u|27{pF#7O8bn zsSQ&YD!xq@_|6AVfpju;(ErDy{F1K|4h;qwm`%>HM6t|0}m|o zacB|ES|#9@Sy)RG|_?@cRwr%$(D?BDI((mkc&hjXn`KT+_x!%XF z`G*_)wcx+Qt|9Kvn)tRG>ltYXp6LtU50#Mlzr48cY)~tPf^ma-9iaczV zu2#3PU$n1}@sdo@v`N|BXeZ0rPoQdnobor~*O8SU&K2yiumK@EET3;1g(D0y*2e2N z6BDZ0@M9RsbjFr?cLb5W!XGla(=O;OCtj?a=kc6NU5+Tk+Dk#zuvbFjU9_x4CD{rV zJI8`x;|J8v!XOA^vzo!|wiG)y%K25<^gmQzEJO)hE)_`dL1n_e+hY8-RN$)*awZ<+ zu%}H6cd^jJnR2J~^{A+MbPAKmoGLY5CRe0NiJ95 zvN>nsGK=<}?tB6@FODAA6xRPM5@?V<0H?ddh^SaNd1JutB3y}<7W_kuLpzdGV?g>X z<19f73({OGp0ps%w*YB&ITKr{FjStaw-BUc*XNooW)oG0r?yhB<|}1VMq0@x5^(1c zzz8?7RfsqrR+CD?XI;MQX79N>m@QJyh`9q>jC5{`KstWrdH?ia&pk%#%kYp|bj}qz zph6LQC}NbKY^Hwa=D%`riWj^pKEi){xvxAjC&rqi zd~+;GKi0+nQ8bzZ78$(D?t z(;*KRH-IM3Ge_R6F|!#l3WVc?%LirL9<3;W))8lNn;^9fpze_15EdvU&%BaL_L}uh zrMwon@1SG>8gV{|NpZJ)v{?dj9k|4K&cvaH#30XHQ$4C$iNhY*aC;t*S+Bznwf^y= z<`7ZYX8nof(s?=_AInQa2`KKjVbkxRPYTs%L8Zywb5$rW58YcrMP9e8B%S#V116%l zD-&~PTQUV>$Y$;$vxbRk$52T@f8ECDp>(lhx62(&p~7Y@-nC@r;hF>==-*>80n(hx z_Bd*GGMiZZ3dLR6uJM8RdW64|83nBoX-H-ckP0qTs#4Pe)d^1+*+yLKp6p_8#Ccad zY%g|1f?Iev-(PR{H!&mpP8K^wA^3^{AGmofiAwaV2s-99O|CBS2jmTvqbSghsq_~i z-xFezMLv($2Qg?x`7EK7A!Y<-J?k3;J^5lyN67;gZGrKFhzpaCEQ3W@DByVuEA*xe zmx`ZK-hSdGU|!QQ2-ThQxt0+dwkeWU`PDsSzoi{7V>f1B*#FnQGjUWld~VNH&ME1r z`@QwP!Vge(a=x*2vkB|9x!LV&6_xpV$ZoWwn*KjUBsHAXi4t6#+2>4L;yeLzjnFIl zP2YyEZEe3sVMM{1vW7`T51np_BHEmZx3f8>sS7{YVQz6beqa!E7(kRHVNB7#MY!7a zj&*ak;6WUDNk9T7MfQ;WAUN3xY^smFc2O)q5Ltit&`mbTwe#Q@XX5?RS(9s(at|;Y zyMd4Vj@k>Dlc1(&{RRMADEHFqizY^cg>h=C8Hm57ruv(!Sr`T=Glgv_mEt%=F#aFD z-UH08s_gsTYwfjmJNxX@&z$LVrer2{CKU*fOdyy*0to^EsR0p8P-!D7@;ro=P(v>w zB?Kwb5&{Au(tC#|A~rx&6huHoP#%QuckeR^yzlj1-!<3Xr_4UPta7ir{O|u=QoPOw znu@!Ob#FfF-Xyl2S^K7J)$b2nhoYFreq${Gtq1Wap&k^gO0|`>g)AK^2zAq)I7_{3 zE4t`>Js|3T zYIGu z9@XzK}_R~gQcS-cOA=g}b>E2X*W%(SzVHflY;q?>@vj4` zvZtxSxjMOm&L0*1H!!Fi=O8nO@o#!jv+vd3o0>&!tX_qmUsi!O_k8rw-B3NShGfW* zcGZRSh%&9oHrW}73|rV0k&#sPBQPE{S35u%wa)L_K_~UCdNV!UW8%KTfZKnE8W)cZ zCb;9l)bvEXZck5d)RUQD)6WGy@6xM#cA5~5FY-Ofj}!F}pn43dc%q(^otT+am>5kf zOs!9fC-y*SGMQn$Uj5ol&6w*jV~`Y`OOidRY!_;F_Y)H>H=q~TXZtZj!MFwO80C^4lp5vT*{3}oDo&cuRqZIx$J;Ug8M%LOD+sXvru z^slU@6lG)e1c_V>An>X8NuLqNlIt!8h_?A;wb7GJa$c`?Gph9|uqN5NDVn8D6UL z6mQV}iPh*CFM7`wTB_^f>=kk8)m->mju=<5!h+T?!GF=<%h38srFLO##E?R@>7T1c zr46g!QJRWOx6?9$BAFrbpCw-MO-LZZah!z&1Rn}+%(n!xTL4#LvO`#TDnGseC6Vgq zkWx7;r7oEiRsU;s0CvHf+IhW(r$FM!7}!z_BZIRaKW?9R@VE|=-K2E#jXQlh^@L&c z{Zxr&S2JIwfF6Cabk_s)(o@s{=)I?C=YnREPVi?T7Gc3h-e@xanwB+kxWB8v)c{-U zLih3073vcubn*A5`-x(%OdnO72S>-_PNPFe%^kn}DVr2B`LMV1N=y4fyCb)%>}@6U za7jH>LLYv(Bts(q+nCST@&|)iqQ?3$G;&g@UaAkyhByDy_gsgSCiW zDN;}NHWl8X)SapkCMimoM4oxfU3}9bjr3@%da9f@(&ObEWnonAxFWIM(P0Y9jtf zk&L<9m1;X@%4DAMGzF-5R2s$6^=h;MLhPYIdOx2w1fh85exohoXlLi9wi?uT>0fA{ zYE{p+`k%Gh6Uh`(FUUj1A5fyXpRvvA4k9aoTONn&OhPD|SsK1}6d* z`>IOX0Bb6_K&@)Sw{%aNy0|s1HgrL&I-^xic}rV7XU?W(S&3gyw4zSE0$>X|e!Cvd zgvm@@$Z-sLg6;=2&g4-KfQZf5zaGmMl`$8>?HUd;GV-)foVJgQiny{fEi`--%4#^f zg7NbIc=7?~L)^2h;JE$Nm2#sS+tj+ojo#F%u1;_C(Kf&af-`AM=M(7|af=?@@Y$|H zBmKWCBw<1&iXp5n%i3Wn5ADy|)V*!~yKVM;Y3c{k%l#3)0rVDe z8p3`%deJk|i;e>`0xLoaCQWCGrB0xD(Hh|QMzaWtbm>1N0$e-*3!w%V;};(NIB_LL z9siHEnCpDnUc08vUQfAqz*Qa*ZC7_T z{&jnsy0J}q_N{g*qx5Zt1znlSzj@|X`OQcYz&gsxhWeGoGIt7cBdNbH9?5nB?Sfl@xKQlNm-Nsuw) zJ@Jl9{iGh~$;K0M)lmm--wtqIz34-2Y_&{p+OYj;qgFUU+%yqhMCf+S@766ju1M&2f z_+{@;<*LKCOHk(|1qyD-JKFh}C_r(*Hgy$jjc~MA@&*W>M1wYf5JxvCJ>M z^v$N@Cb+Y(TW>XOcZka#RU*F1RMw*TCDW*{xS!uZj~>$mxun}|d+cqda0eNT_`82% z>>ZR`Bev@WN7{#6FuC?9i-}4VtZcID=KI}{`jQsuHCin+v-G6KEob!&MwCauX=JQ+ zSoo>IMbC{YVI5v@pi7x8@`YR<*>eMAfYR2PZ{Z($Pyfuk3$Z@T!|BTp?YnxGv*eKs z^(Q9b8^j%WmHpE7HoVRTmsq!3Z&T5fHNDUVFS*%ER4|aePw`0p!>)N$O$?Sy&uoc5 z(l3^?e^$XmF2AvTm6I&6+3YRK-n{A9^@{%Y#<~-}?4HFaaL=^Gvv8Zamk_xqc9^EEeq~coI5zlmR@pmja&JP8ap$) zRq$t(eTAjAm@WC)M^yG>G6>4rJ%JMjpPKL)cmmzif4!E}^{7Xq^2L zro7|e-Gy~#0ZC|YXuXr!+D;~OGw*#FfYls3A!t!0%P+=Y@xsINmQwE+y#y!M9{2(T zJktvt8lDfgA22}HR`62b6@h(?w7ekOQj8U)Q1a=Qxo^U`T&xx=J=M0#_-bF}9YuP4 zP%9z6eL8R!SmoNXb_?3(623cSvuJI~R7b}@|3A%XU6&1hW>p_@w} zaDqGRTolZr-GHQM{em}8ZGO-T6ZJC>2zd50s77ohT4Ca}{ldTK-aqT?Tj=~VR(kOlRMQ?+iya&PhCN4|$oF-1u!N|H;|N9|+&WyA1PM z_GV>&W9*rpy3@uheD#!<-2|o%|E2ps(%Fv@Sdd>)8}m1$-z7`fPB*p3d63cmSeZKE z=#O62uXbQR$?Rnp0`*^FDEDL*$V?amvCuz|v%7Qm2tv%J2xvD&IiUq)+!M9%-7xGW zUvD}r1kLh^1lnwFKelnTjEeC^3#&m`>24E`fEAvwx*CImD&O|>_hx&#dzoVz`2>HL zs0c&54(g#A{;ND>7lP8R{wY9^<@*2`d7k5*DIj6{b?!9#>N?Aq8htvJs6#lpc!G z*u&{lT>!%XMWmpPfoE&IxyG(DYQ1?bo4y#a>=hsxO<;*o$JG`v|bW= z_?@fM!Me94nQVkr?}9^#G2X`7;06`_H7q_JG$+|#1l5;Fu8o0uVD2TsgzEXB%;qy~ zaE2Y73BQF3fCxy3c{gf$4^L41_sF~tmwYAD8&{hrJt`pnpX=~mo&ULxUeTG~VG_a0 zTzE}Kf6#WL&Q|QtMaKNW%iar9gnM=veSmM1wFRI7<9=zd1KBkH2{NAs{r?G?J`IwW zu;sE(5fdpt>5|g;kgK0`vroA0?XG*98y4+a*FHy;dp$9nRO5Y@e%B4R)c3j(HCblX z%0V^w9$P7RGYI|?xYc+Y$h>0tma^ZY-@;(FFbM4&$_y!Y7G^D}Jh?xI!CPU_N0KaM zN5Yd`l&rt$=pD^o^QmITc;~z2)oyT>)c(kv@7}8PH}rBX%44Y++(htH7(b1!9p;`4 z<0ryo=fb5?Q`Zy9?bPvG(oVnE(d(K$L3f&EjJFDxCgJT9UH=5vp6W)c2x%2gQJIN_ zJH@JOuzZ~c0ikWXElaFD=XZlZNspRMga-uoJ-97m4@PWUMSnV$(4!59>Z zMbPYLIe#h_+@7c@?7%2KL&&_tBu|BgOzsm!jSO3)+9abSD>Zx7b_8bo;Vwz49hDBK zc6>-UvP~{Qn*_lyP=!FHIRm@bTwILv*bZt7TKhU$VMQkcperH1>eb8LL0xxe>UWy9 z7*f()YuuIug`P7sY;Vz+Y@Z%rl{4Ph$~b?l9T$yV%*0u`Le$$|is`(hlN>c14a716 zUgf=KPXx>!!3X@qpnO^2JrS5mrOPBT1IgNpfp>KfO*Gx!hCs^5YzUyE1;;6IkzMst z-BjsxD3)dpRR=aK?v+aanVAJx8ypE7%D{L7--F>B7`H&Fvs?^Z@k4@PUdooR{Z<{$ zJX_&RP=aI-O5lW8p3ZOP<{VtW9s{QqUH$=y5_qQyK#3RKr?Nm(wQ6{ip@PIgUQz?j! zl@1NR73=$C1$E{X3drdk;z$B3S_73*>R$RITGFC zs3R-?xI1vKj>Gp|^_0o(ZN5@nn_Lo6!l`KFkJ{JX>(>4B*Hv83xS2e_xIfO!B%{0WmtT9_Q z(l+1~__ZLG^(SfjmsOqi$FuH^A^jAEM`$9DJ?QGP7SRtV0@*Cnsi{T^lzgg0Of0Vp zJ_EtWkaFjaVM!$#L35978JEpu+Y3ZV!%046Aw!o^xR4WTjAua}ndws#0acgLfL@xZqx5dR%B5idP~n#1Icjnq4}@tL$6lO>8i_{P;;Bg1S9=tO>zQ@ ztoszIl>4O8_o;rp&_vl{X|t8}RI0e+O(e%c4ARub3S2y)@W*h|%`U_}E+-~(b+&|; zGR{&U3U(?<`4gt(`?F!jc?pe!K|Ky+biP=~j&;YOdQyB!Uxb$6pJB4!;29IapgBJv zvL~S{c@L}z?V?Cv#wFW`z98)|YcgrX^)@e!xSm4bb)2*GZ+f8I9}WclACmXP?RfN? zm_8w1e=vo-e_A;Yt6|;J)!8!KR`WW{)|5wpT5UIhNQEbxFwFeh4Ifd#T82>TR~UwS z&Fn|)BM>B1PkT<&r(IojcVGy8APnTVUKPc_%74bPO8h z1bdF>iTmVNFl9?%#Ra{BxOhwTjNtE?TuVVERcN>hEygfbdkd@~f zf3QHHsr0nb7aMmbapMKaOj-LbHujQDGW;yljA!0nU@YI(DAiiTTOCD{sHDR(*F?xZ z`q<4rWC{h6Vq)s}%wYA57&P2^>{b{w#`iI5 z-8?i|Sr?`cH-xYyEl8XS*Fuk|0|IeVfGNoz-ny7o1yWe*wA}sb3WSQfUv1z;->>rN zhb2;@`=ENJGhUFH1bj7z_7s~+kQw7oG{LycWU@^n?63qL_tGTOXHXjp!jOr#3HSme zQ#szb5RUEPmxDqk;R&*Fm-Ci1Zs7NIj>*OaObmb#6jsJ}a6on(+IRC0UG>$*QuYJa zTX-pC$m@->XM)L;`6>oGSZ5hDAzn>^x1@39Kn z;=|Uw>Y6RWEen58;Tw!E%we;Jz@mFVu*Rs9Z1kYYJ)kh#-6MnVHkE6-a#-Qp(QeTz zs_?LzTxFxRHv5blf6g*+A6@A<-$sA>yJBU!1dU%+y&Y0TEfu{B+)rJ`(oP1l7EwPI zK;;>zW=lezCpIsTXdDWZA*L!gn7Yz9mc4ArmK)|)2ytw-np7g7fv!0MnTn zWBP&t`CT+VH-RN@QZR9k2@#a}g(@i7Fl)h#nV~a8z&EqaWNUTyUZI^?2~JiL7)U*f z2tay(y`!wk<%&@)fOD;m4?f$JA`{+6c>PULCBGLJ;;L~kH0h#Po^9Qiu_mh^DsqPQC`b7ovx73s(N%`KC!rvPpS~rl65(j z)&|1j(s`00O(tE=TX# zxw$i42J%_1|AF>cil8JFf57E#ZjF3@mFu7Gaua9(Oy`O_&1U_gKp=caaZ$tO9E!UK z=&Vo>;%q_EqNQ$0TP~eTNMi3}@Dlb=fKAyOpoNKiV!C}myoxSw0PITqx(}stAp?H# zQHvysQg`-ZWqn-N+7QW2hA=7XBD$ln+(@(}suU5<&hBWfyaTPjN=y*oipj{qG$f5gZKCa zbczD#@#Gid_yxpY$q{!OW@3hIGTWHL=Q(@*z$IJdmy%FjD}$dd+b!*mP!^a$olLOp zvW8OLeaH|}b49iylbMB-v%reFOl1nMBl^pGEgU5!YFmp8e=}3H^ z3mYRR#DtKN02NWo`IC4odjYwEr;V3IYtVtI=XpT1Z`5D(=WS9DV8%xv&x1(^K-#vN z?D1AJhny(SZ|@>I5g>C;xC1vg0sPtUvSk%*FVLCtIZg+QT3`MpB7GpZp0TwWH&)TY|7o73PVXj#?5D~a@Iyh=?LLn zs}rNL`FZ=Ae$J}rZTuWu(R&@yxYH9<IPJgX|QLy?P`#p$^CNqyaerXkON@)gr`_wh8{^+(0$`ISi>slq`4;X@Z{Y^^!j)b#_i+c~ zktD*~)s0&c=|mDT_9r26FeWfNN>{9P)2_%oXSZER}C2HMzU^0Yvr!HJoI)Yp6YN~W~Mre1kIjoIUJJz4Ol zU5bB*k$M5r1rb4dM)dpEA;8ogk;vy7J0cWuwMo@tm-nAyAY4dRN;#O$0O6h z4BkH)nwCoYE@$5(o$bm7kCj_QEp!$j;&~~X{pii1?Ko&&df-%N-&d6LU8KnADs!3w zo!QvKz(MnCeQf@F`q=2(`WW}y@&I5NV6DgJ>;9KM$|chxivl|}Wm52Q=Jg6f4d^mtGqd6-pE)xt6k|B+XC?wvq!1a8`&VUHJrg7Ezhb~?K<9*!>~0P1l7wT27IK+=*xK2I zPoP3zWZ#S6yLP*g16B{3?uS%!dezMHoS)=8>bfQ_SQaX4V13cIt|*PwpX%)0 z8oKHhoJ?KG13LSlCYC!P+Y#v_uv_iC+zhFX*WzuZPg2p;zv)e$7xz;U_LNx&R4J%Y zyaY0RpbI6Nun#i(>0;~HP3zWm=**6@zh0_fVg5c~G`+KaSg9RUoA<7=944e%&jqAj zF!cGO?i^P5t%1}$s_?CJ;iTfb zzS5Ooi&j^=-nG2qghHEP-{d)J#4#i2SoF4B3qoPvgLtct4p^g3VX}ftJRb?e%U7X1 zboTwRaV`U=L2oBJhFKYzae1BF`UB;yRz6AH7{cYMebcCyP4JYPebNnn{`tK;>*{A* z`z(C7AWI)|H~F%>jr4-Y65fk3>7p44eGSD|N-PJ;|B2f&+TkwYbMVh_)VF!9na>xe zGgG14jn*n)c6E}XTwWLRiPcN=%~i-;2zOcu68OMq6%cvHh3Yxlkzm9r7@3FKm*QjXF8-8lfx+vj);r% zuNr~N>E`gXE&oI#)}1YP0bl{8Rlb(K2KhBoBrp#(Zg{d{T#-hy2-YvvZ4%&RxR@Dm zs*7%*yuh&*D07miJs`MSjloK`tSs8_Zwnd#_HD2bVYT3ezfvLia5M^Bb-}*o7z;r! zghr<*bE9^8lw4mx ztAW2pMPZmvf@}x?7$)`H4$@w;#VgHrubSQDY zwY5xy_=(zlqHUigH4liIov2AWOw*Yz=DvZuLCR4^gpnl6WaJY*#Vm8k#hVs$>$^bY zpXyGMC3uRIYTR-w?i{{Cm}a!Ofz&V`f=8wpVdjT`M7Ss%h7=y0v|M`{S)0e&A1if( z@~#s{dQ%}&IFrgX_FOd&um;NMVaTc;^Sy>Edk!4?l+uxWIc^O02-{6kmIW&3g;PLT zSofQ<2JA*V)@N6pEvuzmg9w_sJeBf}&K;Nl`u8*hc6%cma--|M;8r#=t+S>_uGd&& zQfAmAQBnD(Y);^kRaQahml+tO@=J&Hagndit~pzh7kQJ6ZxH^ZNO;u+;lha&DTgg& zE3?0wl7>+E)LDeev8OYE#m$q&XLu)mAF}ZskMt6;WDG!_rj6+pft^e}v}^g{R}5Jd zc+K<{D$;w(PoW!A!wZ}VbI+045SWvd^C)@Pq9OzqC%{LfZUwi*oq9}(@M7ak4{@gX zwB^=juAFTm+}p=H&RiNYaQXe{4b65YY@43cH#<5jvT{zC8{*(r$rkcoqWt>i6RzNd zvoL-Wv$dR1K5mr*s-Lp5xbTDM(;$~pK)%6U-}s?C$bg#noTu}W?tkH6iE`ojwant~#fsEfGx zSo3|k4|zKmVKb9;GoqhXs2?c7)II9TeiF#KgHO_vTU0cy6N2M#ik>{cmYq_bT%MAh zY^L0=_|WOBcY&>9A(G|lQCrL8rkIJe1jU{)YsWyPqd@GBM}4p4hW&p2v7x0oqkht2 z1iMzx4F|1opT$yR-~mss5UW<5ph=e~+~?^Bz3c;C`C$lwL_hG%1qSailXI)=uoMPr z*Je(%9Sh=@uJvu|@kj^Cx$#_(v^I1a@XtKCXXr%EkPm&Xllg`w^RbFChtXchCvjX~Nhq$|>h|wmFA%$+_&Ts=NfV z`keDjGrm228@VF(FRlch)KA4`4t|S`Mh-(AZM@j1cOJP5MNvll0s#}@%gX#$idzNl_3to1l5a7pmbCF~nVm`z7i8b?HA z9euJS|G!JDqqsrCMx6o;97jVd2Cq3mV)hvb$Z2h&&#s$qfs+J48lgnjB^Z!H1t?bv zxXVzrt)u&$L;9V&;qui%-jGz=@0fn+;4|=dQukRc?Kz;&Ib=LE>TY|v1ODO;EtKj! z`L{`cR=od~^BUR4;^XvQubXNW_vx?-5#`@d_SU(CSCbfYd2W`>tWsYc3kBK*SqRE*S!H+(86GD0)#Go zeVbO*jp?dNmD?<(nwlDf!oOlk8jlOqMW6N}IGivaaJBGf2-o?nzmP-VfnY8nrqOM4 z@?8Y8xliqeprSx;0P#x}e~rbecTv;mV70SmHU?Nnw_6|UJPqf7{u?y7RAY?uMDK(& z#59U6+B?D=^^1c0Lia%!?1gPmSDIvm4FlOn4$1(w?o5W7^*gY1#&WrHF#FP4o6jmC z>=O8-vz<(<4C6F_v_jN;%zjWs0j}Kwgb0{h_EnzAg8h9?87{WxQQs5HbocPaq{m*yC!mW#7FdO6HfTbp>SE)iuQ zU^|Ec({MWd1X3|V@k+m@)m)s;qT-B2C_BzYq6d?qsbK0C8x5e4>p?og?6#EfWgR+4 z%}?Wq-(~MC-*eaK%kHkNU!LcDH^Ix|KSepW0BG8gWfF^X4Ep$%;ta1pze1g;o?Ahx`3f~|^tFT6$XWi8a_&)+i(R^p z@l*k6iA2GIia=MQ$ho1)v~yV(o|q=}07DkObg4ffqiH?vlXXJYv5vp8v;1F*GAHOM z57TKe1-$!CH^o(y{=rwMxB`ehx=}6tv%+X71 zyLTByKt(sU?iIM1_9Xsu7|T(Szy#-~kY?c#^;ur6D11NNPfYi@bpOM~KZ4KlZO-x` zl4~iy)qa6-?r_JV$YZxYp(EBo9?`wdH8%iyW4uwIkR(K87%VzK65S~iCi~Nh7&Ax+ zL=sFAJLkKIQ7{*#af&zza3`|h>-_kjuWi#vx-qqpb~boC=9sNrV({()Z=ULQIby6? zkBKB9dkjOD`$0Q=UR1OufY-~f(1b#2CTYnugJ75OmEg?Ic-~g5GqzZ31!386Zb(y| zkjlLYf*vf$x0nzDo)IbXI^qLuy-{c@lfG~4gR@o6S$>0dUdDA7>uq=z6nxzxD>akK zWtN2=32G*)#8iKPx^0t`#kEGK&(~<+z1R*p23vk=o6w$o9FgdsBen?byup3 z6_2M~-qoYXUWT(pbj}s( z`^Rf%c`r}9yK^b*p%Qz6SDs`+Aygv{Ln53|t)|eIqaEkS25f?Njo*m4n3;A-4|`|% zSDnXMcqMm$nN1gBF^ZnLhd3Z9HmB)<#O&cLpXjWmrb02jiKX8=fM5Q%b25GBAs?D+ z9fq`G`P~shwz;Fw%3x*aZ-`9TXHl1Pf6#&1DQqZ_*vk#m0+kzWgr($@&-`0zQ_k z5B(YL3ZR;-C9yvo%npX)^8<6QPaV|@1NS0UEL?iJ^)!r_?5Tmf3dST1Y$k;}5dYRU zHwPj@33KD&E~$d}x^->?K7l%ut*FQ2!^q|xah5-*0TKM(ICo{6L{RIz8$=86jYi#Z za!MSXiWU5-)~^x6hEPjg#E5!bncpk*7J}_T1d-ym`2F_AqUjtYXrU(T+VtgbI@@*Y z=wGJkBMN`Da1XF|N_4ebZwuzFvT4?@W-XY2U>1vZXa;BS23tA9LCzt~fajX{ohQn! zbb1M6nW;C2)v=YMk2nU5=F8M4an^If2=2;-;>&3ak5f`PKd5(=V2HRvG2HI@!eI}8 z;r-KJc)#%r?|=J+_ka1q`}e-^{*y1fKbZm)n{MOGFTB6~3-5I_JUrXyws%cUhN|wu z8f3Qg$=nbcR{7t~Y1FcS02mcIiP}P*yo*?c?_8Q%k@7#R$Rla7B0o7*Q67boY6y0s zy6IHLr^!er%tGROv~6ly`l{B@+EE~{Dtx<976#9e^e=qrcE)HlFPTM z;fZEaF!NTo~j+lZOzI`ASvk37B)3>)jKhB5E0K8W`o8$jvAgTaojPPW?f;?)5TEE&y9( zbAVxl(~9}f%kXYuPOL#blGx-5Ss2V#MpRxKly;Z}zY~5E;ZlWW; zefT&|1HJp2kg8P7R{qS+=c&w<66HAgF7HoO4UqYx-38Y89Q$OxY!}yCF@W9z$CB%W8*Hgjy6b>&YwCL-=?7l{~StA?%_c zX3qE<{on;(zX*5@j5a7EABdK#{lEHP1W94fZAnp&uL!9JMgP!=ab;5Li=v@IgS)q_ z1L7bNAbwQ)kC1{E=x!7U_LvQ=Zux*{DVV~k<(}f_yoqYxQUs10l}9|=$V1(%(&rh!$VDx17vHNES;z}{2lwD75hP>Aj2F)! z7{;GO?p+uzt=t?d`WV%h!JGvLv-v+1yv6wvw%JxQ;6n;y`ojruWNn2%YMMVanwFcI zpN6CLPm%qAa+d%z@b1Y_3gHkbd%e2c353%#C33+!qBz>`^K(aDi(GZC@VDtbpwQ)p z$UaZ^RqNH#B}%ltr&Gt)4_&;z`*{0G+^c5pP^7jf;4=`Aqf=~$Ov^AWT(vD&QsAh9 z(MHv*KzL1MkuV28RK$dRPKnnwcG(kU26MVpXSNCwv3lis@%nY8h zl#s>NmK3u|9qljH{U#sOsJ#~|gCfNcr-{&yYZP>cM7W9AVuU6f^iv!F$7OAfyIp>U zdz!LET!9#x@HVncBx3;GP*K#DP(;Y?5JynX>xA1v=1d1i;Hb0qXuCq5>Uh$VFwoiO z^HnodZ%JxL%`IWIqJwr5Lh(oSMkEA}$8f*ZqSk%7n>jztd=;~=o9TJX@#+xC#B*@wE;SlQ;oBR-rwfjnz z=JuR-63@|tyd8ui$>8f`J{s%r(G0SpEk1q`WmXj)?ptytZy4rRpyoU}BDSQC6rE{% zLFpffbXmOnqL4!mb#Bk06Qbz`a-lBOjL5-lb~GNdOVt5o4p~p;ORgqatzZysPz6*E zPL4lJkET=621Vi>!kBGDEiPfMnx%)K-M@?`e+8~=&)cyjy@v#S&RL-QLA|nt;$tx;!>@>~JH)p4Z0Qqt+wPzqJc}BY2Xa^iFePc` zc}(4Or(O_Uq&~h0H4j{mVk-*9DlF z%mjeYz2+)vH58+NBjeiel9T^r-QSWEpQJ`>#r$Bdu%plf1irCLl{|qRO)D4JP=KX zUMt&xm;oT_^)Hza(*@N)u<3lEvKF`gVR%foVe4XRpi1z*fJYMUjC{s-1qAbja*`x> zfTnm^O$C6nQnjZ0U7dR&EwSC%9s;>P^xezQ3ZW^w#&@sf9R&@@oKNpl7(vMx;Wj3j zMPiXmMT)j!J?+Zy>gw%OU71c9U#0Z4oz7}9nm+ylUZRoj?ll z-I0APvX8_5P8?gl3w!NWc0p!pl&9kFU}4MB#>^N02hO=AKgmq2-Sx$}8m-3Lgi}6b(ZH4`)*s?LS*OJ4fkNuI(U8RrvMOc_z3^(gm z8^PcKa@OYSWD6*-&rb3lB(I2~$U!SG7A=JbybOoexc##uGe)SCJk@A-uWIv*>~^mF z|7dY)n#6HyW*g#gi$U>3>R5oU$K|$2#l$is%_gtZ4LG{TI7dvPKNp#cHNe=Frc0Y{ z(?p!)gV1|ZNVZLu>aPVOL;&hZzwt=_)p(?*{9=jw5-Ctp>r=1cB9wn?htMw1R_;NT z|F)Z-U|vt+-WMS@BK2Q#GlIc2LyHL+93aeWduZ#G+AjFW-I1gjmh&O)tUAp4HXa9fqZLg9;c*J!QTp4ID5n`HxyTx`;Ka=-UJC?Uc(^@JSXhEZDVXB>Gr&=VB zt(a;{2C-q=l@UZ7T;9(nd;p=-Z$_MT*$;Qxc6IB+~ zHBMDm`x%6y)IPJ%MVaTL%o7pp;x9$?$mS#5HzTkmSquN2(G$IBwTEnIfnoJx6%lH^ zSQW0NssnxI+cP{E5*h@`EpSFFT}y~02HpfO7d5?Xqu3*vzZ-m854o*&2a0N4q=4%Vu()$*&8$-TS_|{lE)rRu2z1|d2Pi{H zX;E(qwA~aSCCMZVruxg#L|ZZ$?mPle&*UMwMZ!OHzp28`6ooV#OZbi~;qNGL+DE~L z@#PxaEF4Rbs&z%{E$LwbiX3KbTnxo=RPLBM@Z*G z=cp~yy5KvtJ1bF!vBO!_NJI#*k0!^5-~hy<>I|C}Q7E>grHF9KT0Rp<@KKW*KP@$mStu4N6 zqDW9S8Fiz8)fiD7VSU`Dxpi@BSWeX=dIrP|IZIlX4;x||>9^pDEZpxAYV2z61JdM~1y%@XrNzV|!U_;BeBel2o*GEFy@TivW zYvyP8>mu^rdYq#G60F3bv;-}yTg;B#6)$BjcMN*}Ir=W)+dD@mXH#bPsJ|;`wL3;n zMCO35qK*gf1pK^-WM(#$+(%PU0t~oE5Z7bOQw&IHyP|W{p3e1LN30O=+al32^!Pa3 zLcEBBuGw^@SA3yy#Y%d`bMcb>BU!H5q^ryVvWnTDYbJ|2)3o{OZ=_fMABBHC zy*kn5qo$?V9$XF_#v5`2={p^rqrP&sYIBY{-gyVOb2I5vER@lM@**+yhQIM(Q8)KM z@bXQwIYdhMb)a$+g*;m=8tWYOsB%7ZC!4QGO|`a2vTqt~{^RsUChPrm3g{FzR|KL4 zt+)bA^myl}N63Nc@?gMygCLpd=dR>03z3?HaB^6q63->+jn8y4nL%0dE8yh&m+$`5 z_dfLPM_7VqDMIElm!dhNLq1WLrQO}HZzWSu54wxJPV&1&+j7st4fKfMQDH++#{xy6;GS0rBm^#6ot=&QYV8Tfl!a zcln*;eBCV8AHks`cy4h7;*Z2V?vgO)`^~KDce`<%LBl8T(}S2AneJRdjxh~qz|S>$ zJ683EaS>q-jLdKz#49-p)=9+85IG~WPgPB;RBpaF0~g{@ev);y4>D2HbiW~U95Hw; z0HB=44(mQ1oO$L8VeDU|Lt-`_+(3VyMHWi!CbG8?lT=~p_ID74vlC@=q!(-^D|%x+ zXSQNSGIEAq5YS?AaBF9z;p)t*V|2ed*x6uf|5AX}iRJ<<`#YXT^< z{>Tvel3A(Tx%x-S97)OQCF)zE*#94QJnB@guq1yy8W*m^4GFergWyy!oq5=|(DQMp zKgq)$mi`of>oT0lYDDHg^p;Pl#zXGNgEMZG<>5&zyB|zu#>>J+k^TkcDYj^~RkN5n z+xkDz;zZuMYhXTZDk!r%;n3?y-NyAO<2KhZQK`<2jOfQPH|jNB=P?%li2F;t##E#J zg%|(Yli%8(TD!((+)N>zQ20BTRyK_d+~^5}z?&CZFMtlc}*-t=L|0N(r zX^%}#%w6k+Da8vMXl3jVnH zN@V}Yq((bmsmLR>U9Fu(`J7w0g>ya3JbB3-d4Yn~@yg&tvaGfGryqXc+rRs?;0ItZ z)bFI0b#6rvg??BR@5T(xP^vx|=c{@C0=sZQ;~u)4PlNW$1GOgbUkL2RpbsZCh}r9;3Uv;ii_GSg8>cO;)2FBF z7E;iQHeI@{OQ=U6tK!NhIM2m=7S0H^!iqD(|1Jt4fS!t6oyK(6?s&`~fT=i(T-$F4 z@V<+2)CiItE~0aR=@ch55mfhZQ2t>VQP;|PhSJo zS?n#GMpP}VQ8@yoNX5Sj{6+p^Ln-Y55}ZGzpMp1n&MQstkI;Df(HAnY#DcQST5diF<^B=X;`U}L;ni9V4`cK*m3FaMCK*7!t~l!v|iLtf!RQ@q49k--AHmA%`F zMuzv9v1P08Ng9YQylFCTncz+1zGcjtMzi-oPd+AfmE(Wm(-gT}k0Ngiiun#2Zk{ga zYA&9@6FSpjSJ}tAUb*Kgz=P!Jb_P=c6!V`+Sg}woKnGC4+ZmxWmcy9@Y76*c+c65V zLKLX0mF`-mDS%sp8P(L>!gsCWr%Pn60U)MZ0qwq%sd?TNTP2ro1-92Wq!bnf^4QR2 zsBZ)URxgr{>A+udm`MMb{JKaSb7X(#)VSBjIZ0oDo5C74oFt85vGxo&e6Jev(yCN=lIFf-JdJ z+8$wdwM}Zd_Z!cAY}LQ5_lY(Cw!CMy{nOf&CHXiahtLxvMRa?2LwTnlvZRKg+C!z zXMG(JM}fZ;&oXqg8q7H(VB}tcpC?b@^J1=)It;?N6_pG_p^u?784gl`$I)YZN}T0d z@AzJ4WW7&;fj)AhwIbI8f2iA0fZR9=muZTu@Cdo9^)cxq9QkWqXg^%52S&eLp&Czi zKOW-VO;2_{BSfNBrz_?V(fNJsIV$K%y&XOW)j&X=!Qdeuh=HVz;TeupCouQg1Q0$^O%)K zJk}X`1Rn>&AwE^LuTs6~`}yg9-fq?1{oT${yCHq;U)(nSe+6LtR|MC9?I1o&Bf*D{3LpqB8Wv;R4r4TaUlysqV8guUZn3p z{_Bfn*NYNaP>6p7l9nVp{gtFEs=YxEWFt7ee zE`L|f>X~|rj;N0mlR>=GV`Irgt&F37a>UXA zY1Gw%17c)?v$il{)7@gir<#o zqCt-*ER-6QV)TAVR@^*=?Rk)~@*pkzsNlR#+ykj`V=jM74vZLWCFHT9>*O()WgT46 zFwz#T1I;!v*pRTNqe9P%P%Q`MXXb4$-xU^)DxBYOZYg3nK=x(x>Q%}>#1|B$f+qe~ zO;iL21H=r1q`(Yg@dT}ugp>(`?t}z)ylNi7Uz?~O6x1b!=+0t%SJ8tyom3x9I3RO+ zA@urUT*6lUf=EE&^pg6eLNb7V0?Y^5>Qo=MHsEey2} z=L7pL!CkRuFwW2GFY#b>I}4V3I{G2^6#E0z8QC65UC2r`mALSov?;D|QyoFQ$@$Oc62gq? zqf+bIlD`+y^F~v<3l0?Z?>HSi|B7=Hi?d6c8sI0X#NUQBJT!aa0+#T|c!J^zy{&9^ zB?7{sQb6ktME~g1;VzQofti7yH$}C>3hzgFNjIXW` z3LuWmy3V)?d7Lt-Q8fL;%rHxa$Q5w6&WM)a#qi@2=qieC@DJs@R$<&ASg1%x3xw!U z*#5ATP`wnZB?j8W3AQczo2AD~so)4m&VH+-bx zP~!-rPOD09-_nFsA}P6vLA|j_bRBg~`j7QhAA{A4h<-2QNh0<27)@<_vmenDu^p zT(k-CEo_T8>`Cp;Y&r$@PI=O^R0n~?x>dDxl0~ZVGreN(Q&1djC9FmxKvtL(9yWh+ z7}%rK&VGTGLs;Y&zO9fJTT6>&7xpz8PBAt1bY860iuR|4@P>lAuHfBJ$WY?6kYIlQ zN~)CKQj<)=0iY19W1h`d@Pt~17@=aOjJmB!ZD@*KsO5iM%LNmWFA4Icz@ut5lp`^g zkTUQDQKqz*$Im^E5;i_C^`ACn9&O5c)QykSs%FxZ?rH9&)=e$#hh}wKF`Y&0ixDXb zh3_>rtQo;mT#kr>LBu>vTUgSG%n1q<_ZYXuUxY*ngUNn1nV3yYH|t)`I{AfWksigX z`T_*g04nmCw-r>XThqeXLSNd#QlEgNw500Yb&&3PtjW+9aPH(Bfaat4q z&(FB;_`POXj~GLbr1$=p=BN+>KN}T%c>TGB`6QwW??pwz<09+o%xj^O5E;L|A=sYB z5jV~mnL65u7!0bjam~*Zs`jr&r@)}Iv88(#yCA+1scUX8soP54UGnzMl7CkT9}Rv} zbv`u_;wM{515#{52(l;&5V$z(`c0Qapd$F`R+UqP-pS=y=XRDE>7#|nc$PmTRDKIj zh^(xkK-W*DN<{oxi(N2o(}P{cVPc+4W0ecd68%G^hxJOO7i6gR>2jDve$V5O|KovB zBVzlR3dTT*lL|GwtkKZeK_ti4&gxdUWg7lTbHty;Am!^rG4_fWd%#=HX+vlv<8-ka zeiY?Dj*9n!+0&K6aWjVdn-H9Qmuj%Hb` zx4^I`T$e0;RFh^l@`_p(Emtf-vzEon`<#c{Yq20i1hXla3h+td)Q)mMnt{LJgJ_Ok zYgXqs`xiC0viOlw2$g?xd`C0?dsanHsc6s5G8Ygo4cf!$cE?;$^F)^;uo2+{_1#%i zNFkXSOq)i-|A$mq9QhU^w6Ltae1hrD7NM_ywxb4_U=Z*`qW~NPp<6`!Gen7; zk=>7L`hFLEmSL+oH*}UUxh*xkA?^U6MUGbq;g6b<_xvk6o7Q$}!#ekyTJgaeG3g%l zQ+bEisVyr^K{JqPZEWMjMP=Ok5tX~+Q|+Sna7?GHlZ!9GZe6?;TXE5V$U#vKKoXz~ ze7P}&>U7BHY%)xy5FZ;e4(p< zyeo_Du723&UqQ(SDVwXVOIhuo?=rt&_MgkyS^etCY^6G?WchVXiXhk zX&UckikJqix+7i5$yk67r3Dv>mfY|?M?m|>q}FgX)s|nb*KTex_q3>=wqTat-GX3P z*OET|O)b&STkL}^$n`s0Qo((DOC-QgilL{f^X3zRQx)^NiWw^db?CQJM|GseA|<}F zSb8g22vz00RNN(-zHuAfnB}=+G+%GNo`=hI`55P%?%KM#+EDlZP`7W?=|=8AQsk3Y z>HvDQ`f*q0rY`lH^s7(n@$c$ta`Jv1hvfh8E`GmGUi>5N_VISOCI3{9|5EoJ>(Wnl z`Omc5=lKqpY!gq>rFX@hA0omFq%cmGX}75;LQJP6VDuP|Y&!gRqQosz-8T}E9Y@G#c3*!fpC zPwk|Tq!sGJG?(S}bbpB0&dVsvGg42dlE-ukzm#^(u8kfV&kRJ(R1uvpx-g}>MPXqV zL#2-B%M#

    b#(*{${H=vrV1W=B4}a8JyP1nLUgG9WF=Xdu6gLI*Fuxo;}&_tXmL( z7j{b*KHM|TQ_r=*>3@HlzOOAZ!P9Ngx=wq0r&=cm#4q*~z2qbX$%|e+Ek0`+c@nQm zQx!IL`yeW+fx3`iGa=6-YFF6T`%`E9Rwq67&o&@^CV0Os`edqr5q*}4;Noc_p3!o| zQ_i!GF5su9>)b4&nFSQ~*(6fdqRC+sr0d&}F*uclcp$^UQWj_>67mZTM!P4rE$H!! ztaM3ce9}ZRZV{}5rSuKGQJPSVNhw5)Y3^zp-&*g8+p}F0JEQ7^ij;;KzF+k71#Ek> z!Hq?7JzEc3es+s9azIZ#>rc^(qK=j+hc|}OjK<3#jDl0yM!nB9pod3S0l3V+{OKQr&Yl+(ZKiB`jbQhPFoXA}sa?J5$*Y{j38xpY#m49Z^N zdLLDL&h3$|xV<+r$=2>Rup+)~$-9B7L!jbu1kKd@{BLLY^g>HehVJ1$=S*)yN0m>>LyF#xte2omjp4m9$ z_h}5HiSm+LIP7fTv_eft5SvNI{C&5NQSzfPo5#ri_A*9tSB&8rO@(aH#~ayrCX{$m zo))8!OaPk_>Y3v6-Y1n<6OmXspDsv-@6fYx9sNl=9|~7N&>I?|xTT^gu}__pKr{l5 z2Cl*Q!~m9}NZ8lFlp6@oZSf~Hu0~iKUGV!LG3S^zo4T1M>j4YdkOrLg*Z4VCJ@0-q z-51h*F5RE6(w8IB{b`L4zvqR8a@S=631^MwNIenp!UBA0|4=>s>Ew(%DpLl)uOHVq zq_y!fx$*KJ#i8Fxoss*e`w5Njlg7(2ocl7(?l}B2sh=laxO7pYdVKHV8vj_}+|xfs z2W0u1gdieas4wmbF6*INy=F{!*8jUybSnj~ive{AwYsXGetD^%P}ntNWY#|3UwF4S zIJIxA&OSZeeQG)>DQLYD_m1j%x*!tJMv-e2Pl&2p2KDf)-hM>HiDiA-KrAAn^kFIM zMQu?XbMLwV`~Q*l9^iIVW#9L#Hg)&C&pG?_n$!D9PauVm-bjH2!5l!8BGsV04+0$gwAI0B* z-=TeU!r#xVkVl%|w)@Yw4Iy-L)V-(Q?CviWuXL6_+Uf0M{wumy`S*eRR++%dlc1OQ zXJ`2~-~`YeJTvJ2ZV*$Qp(dW_8JF~94dC z>NtHV&RFC@psN$*(Nfi)8_qTq7RYgB4Y}Qu8P%d|L^)2RjUqEH%Qbexi$`K1lF!t} z9*8VeGscqFdxyxi34o&oSeesQizxekEF`OAAvw^%4;nugEq?R&TFXa$y}i7x(CK#M zy4l^6>gRKyVzfWB`&fKuB0FY1W87{`IC$r1r(LG<=V`;`iQcHErK~v9-*q12y}u7} z`+ry>mQ)|ZY<~vI;m&7Wgp1wix^8)6cY1TT4UX9M^?%we|Jv?<)ZQo)uMVhJ0FQ?j zLz7N_$u6)Z){D*(au?f}J-F-A%nFzwst4$V6*3=)6XaIQT>qMiSH-V<_HPvgc$*K5 z4yq}P%BzCB7Ao zOot-3kJ%UMwWaoAviQkhb+&R=<>N!15BAW6;_%b#Wb=POEhJsv-+A5;Te@=-u}*AJxv#P$O}8t=XE4?;rtHw-A*@5 zf6^ILC7$lIdIJ*w!%p!^H$(fp9_E@iy6n(Ch0XAcj%Y&%zIOW{MY5mlVA(7PiKanM zy4DNdq+x+^n&S80ND54uD$~s)`12^%3kp2rOl!)nM}elI!0H*OPh*@ndx{^m%dPE} zv^aRT-PM`*+U15OYYt{FYErVu>rB4bZc`M+T1?b)2-?|Zv)eF(TXF=tTchffq%@?a zo^9vSYL?{4VyhpvLVvot9fhuXFjH!d{35y7D{YRL2|XhdfL^Q?6&IJ4{?=$$>G?(H zl-{D7+0YZ~ZT3+AQongQZtneQcu5*} zV1s`Rf>Lh8m`Inc7F3eO<%NfeM1HoCX)L7#1&M7{aV8lUP)gemq#E86g%o2OniCqbBn%xr%${yD!kY;r>|7!th5XG#L*HPm3Ui*fg?-Mo+3dtUR+%5jK!kp9XZ|U~$>82N+)q@=5XP92+_J}``v>AT5 zLVdg<_}hx;(-rc$?%*F?=7TPZ4L)VBcS^r_@R1Do883tHC+|;? z&Gu*uz_BFz4{>w@l5`a6=ok*b84ZBUcmwgMg$a>|QleK7G}__G4e3gz+OP9#6$KJS z6;%?vAoM|)%E|!A>9*4aJ4E-6-*$;X_6&)!W{et38tb^qvE^gT*wh%vIB}}2^Q>V! z^EhI0n{1~zmq?rivo)1gw~olNsq~8Qz+~(N92vbM;*DA*kN3w$zB0HLL1l*(_YwFt zw*%mU56ll9>^6^do5WP#%Q4rZep?(ZEEjO|go)HQ^?oqZ?;EXzEruM(PB>Kic~4gl zP=W1}KKu4x9WXtHikW3ISi|#bCbFKclV%9S=^%N(*9)^nmKn!}TuRqOWe6#3{1 zd~wA9r+a!?>R(Ori>CDFmUZ&)ooLdfUZTZ6RwTErpi_CVAi1UAUh zgf9)2zdvZG{ML$gow#QZlDfYS7Ful4QrTACPAP*?xz=oCz#~y?H0ner7h4Btu<)Fr z$^&;mSW0;zE9EzsF*|U`eH|I$`E{ji*|G8(i)sOX?5t!0*%Ptn(^q)h&_d6`hDI30 zRu}M|DZFQ$&Yy=0{~Qq82GoWjbLmhVezs*c2uBz6kPR;jxYG>Yc^pv>$VJGx{pqVd z3pvkk4nc+k=%LCjTp^;Xg*d4XrkVG9h<;wt3#-muz1}sV5|gzLz%jZP+G!r#Wg5gz z*n_dSlO`d$O%|-X5q$yCypp-p>XQV65dL^U#V5AehqqYN|0Qx2*Pl0XeZMq>>f)hO za-hdUCprJO(z#%?CEri_>8C{WjIgrsKkkd2zZ;_GZW|KU;SD6N{FNRXmU`@#-P~&% z#lwTVf#e56+;d*s*hN`)&)qhRwlNQj)!L9d2U)DhmzHqIxZ@Xp(7tr+lBkjxotFjTnuph9=uOxHHI6i zN}L#RnINxVb)#z2ov2sBZ6TrIfzh>EpW5HHzMq$5ZQNfq>n+XVo@S`u@57-M=7EkZ zkqhyHj9>_vf$&JRiB25nf=DwjK0JKcVa%#cBWE4uyj;2q&UIh2xYwTRH}+iie(bAD z0XpGT&K$WlI?`TNfwCU<7KqI3Ao^`Qh%Qja@jk!RsG9ml-sy|V`It9{hh}T5`M6d5 zt=0W|YZ4SViOCPQt4C3$f@0wn8NE(f$^QR*r>|pZ(O|W6A)PNT6PI+9-qlFD*u@>W zFI_{gG0j`8J``OP!)QhCm_CvxX7=6j#|!>62BoUWvc_ zkLOtrw;$)v#;{Bq$hL#pG1!|8bjy{6oq!5E`ok-q7H@ zIi`SOAzo`KzKz8g6Za1wB++x~(8U_;bDV7m9PD}+A>tmMp}uGD-p#Vh>rO*D);;n- zzaxFjJ`sqe0rSuRzO>WZLgM%}NYiALIHQdW1l@rIB)rXM>}^0YMP!F~fCGH$z#(>Z z-WRV7danjU2Mz~92rp)x%`JqEg>h>KqP=$+NRSLmK~8BkD!oIcq}U=JDcZ%JOdKVlO~`$TU;A@BerC(7EXUhN6UKq*kN?c@Sh$KG)d7p^buON0 zOO}bp+RLA8Cz}f^fVL?Kwz-m*(`Q@Ej+JuJ%YCmAUpr2&5rqyxiXp7C6)cn!T)02yTn@JsQb_e2f z;uI@QiG^R^FSqoEzv_oO?CO4bRe$E1e&f!?wMfC*G6YmJkb(pCWW}b1ggs1O8pL|T zoy&Zc5u6H3x4(}l!z|~AQySv@CAv`q-gxZN#>eKc3{Aef!N5rG2p&G5O}5#^Uhc&fHz2C!!$#;{pHSaB@+BfvCr)4oe4BEFtGn09I(@o1!gcEJu*;+ z*B6owAZ{MBU&5zfUOyp@MPD}|JOap2CAjCH%MNur*Pg`5DGfssO^fOEcOvJ74dpzLje6jM7;i*v>Y;7;v5xE$;8dANAL2cT#3|1~)9#b8d>+lVrS z;j2mbt3c~pLR5E1W~!rVI;i!+SBQ1kOOA7~(DN-@(QkwtAC#4n-a8=cd4U1G!7}J@ zNeczLT*OeY8{|FE!mR#2fQLf}5!e82hPBT+R;aV{kFZidHGhnA+q5Fwrb!(n!(2p% zV8Yu}qb{%UHUWWv5ZJqKC&EI|wE*X8KxU_rqc`v;ro|g;toK!{t0sQ_(hC3872zu@ z%rDb8qK2uSKTmtci2uvUWXqJ&5Szu%AlX8I??2LEN*%{7b)3Zf?~d4L&b!k|B(c2$w2SxmD)mVf zH-1s+i8oZoJ>%ob?LA|p7kpAFKKSZBm)`PLB|YQ%=}7vQrx%{D+}<<(QC0cp9bZ1N zcz|1`*+ze6df2f;dfyhe$<2cPuspXS;J>#RL7orsFZX+EL+0)^9-x?q2=lHEJDn4a%A5|GiawCz0fw-!dN<3Y{k1X zO37}k+nr6jwmVm{T+MO~%XKU_u*k|S!Nhw4v4sM!@rnW__S==}o?x=GdYi1Ot9(vW zEv&pzRQZ)hIltJISX>Ipm@O_&EKs zR8QKPjTw{d$l7|0NJUa+!thtq(MyqFP!?S@ogDtYsU$YwNlQW>n*?nPS`0#fSEl*z zPJ=zA3x@Zaf`|^8yj}R*6FX&2z-kwJp++33ua=@w)=>vxs&o~Hb?9B>rGm4v|guDYY)UwtV^=$HJ zPNV}+z+H=8mXw?T#*f@_I$6>xcO?BhWH#DR&Jr+s5u>_cWZlOokE5<;e%5w!QxcM4 z30EJ^e^ENO&ITEMYtp?jnX-+n#ipcKPktieFGTz?oL6|y>?Svo%pouS-~QxoNJiDB zffUdUGtAX9QvaTX-}Khm+2d!k{>AJz*_`zd!?rw}IDHoVJ={E7oEdN2J==Iz&&)y< zKUJ2yqvc=$R#Nta?KT7+#?>xH!Z-1xL9xpUd@;-Mxc`2H41nyio0&3fsnsS#2FkWg zn?`R>;X&R0%?&yb8B{}|6o5rSn93tiY{FVJJ{dOB48$(3wy}$73YurDg?(_o=}_s%M#S9-V2%D@Li$pJ8=JZIwl*+9g8WgjZ>@@!zTHkJDXK?&d(s?>>k z(S>eKQeA9FfR8PITt1O{Op3>u)*d4nboFi^$HXb3jB)~}2=8QZQ0c-KjUdFzpz^s{ zG$iYN5<+T_V@0>tTqjEh?O$3wh;oH8B7ti%CoXfCP=CZk1N7v8v zZxPP{q=DT@E61hKi7Fw&_ov%cV+U(gzF zIaF@q&$g@;)3p0iApSX1Z<{GDnWZnAg%5KZxe^)ZoYl@|oIxOHJpr~K_w&5@B47M> z9;e_h3hvJfYFpln&wL0qxBZ`e3m0gFza>g1tGxj-slhn)8HqC|&B|ET7g-^6-X9svOOW4#rJMK-*zg6#1jH+; zY_5R!1t5^{p6v<$+@msdgJ1cnyCF}(OGx5tAX^&}aqtB)QyH}8IO|!=t01~ycN2e| zZ}0q!h1oF{66N{gY`Snf5|sK8qE>93<9##-^TsP5C9aAOeqcfF6W`oTc%kf4gz}LTpY(Vl$cd<)cl-XCFdicbEIFLBB=T@1dbt3m4%bVkptir2MQQen!1K9gWiA~ z96?02(nX`v+4gfjSXexBp*VY?_v?k`{)Ht>@4_6D{gsOh2$e-~*IEed02=?#1ypy0 zNXblV5@#+dKYNkaAv-&I^sB-gX8y3qoU=$gw-9l7)}rl zZ!L)5`637&T^o`WCoSR^cPwJodUiqd=mHP=O?fas311QVdV6r{k%im8a`NOeTx3!1 z)kWbei-K1-aqI2+vey0x=6jh2>bP!qerw|n~Jto zO1nE4Eg(@gF^2jiYNF~E^yE~1u8CMivuK4_tTh-l)b6+CTh*w#PSvqnx7Q`R@j3|I z6?C`YV3u9g{hVWUm}orP6ZWIS9e%z|?l@jrkMwrhgqKIU)^|$1;BZjhX=pPF z&UL#Ld(A%}{_6w-FC7w(t4<-O_6?U+lDmH|Ce_Bwt(=|Kai7Qkdeg%M)YWk}2S-cOzgPdOJZ^GU%I;;9>B+h)6cnC}>s__8_<_?mijNrQ5w5;S6#?gr@97XQtnc?P{-ebGu9^XYixJ%)o zUG70EtRU6|MfaX^rDd+Lbwcph0K+XP>-~gN_R4Up6d%YRnXQrlQBN#KlCfxrrA1=? z7b)lJr9Gc7F>974|GgwwyA;I{l7J=j^>s^kxja?ADYc$7F~AV_iL77KOnPZEFO_VE zM%hAehFkj$=xjVLHszrjy0>~+Gs?7@X>vaGNW291?>D@w>dWJo&cuU5(Ry!5P6Lu< z5{W7fIbRUBENLP?k3G>nU{V8lvP=C~ILY+yguGUoMtf8%={C19o7sp2gnL*S^lY;W zDcD!p{Q9XcTMgM(Lu;Bs53eCSYm*yh;0K*%y$V#?D0T8!XU)u?>pZfo=C4b|`%Arz z%gm-_K|iw)t=go0)T# zfy@L~7Kk!Soz+6((*Q0_BnL|#KvGqyqiXeI)CVA;@r*n`wqFdSK&4Aj2MJFUo&+8* z&S}V$&84qq1}rYerqqmb&RY%ypG>&L-rb9>qz;lJYEJ@KGUx4OhGS38mQ`!y(l%mv z_)UW0zkIwFZMe}3ib2xvZbHg4mEih0M&+RS-qOUEOo$A1nOaILB0>K>8Aqb65LF;PeG-#I zejQj6apO{N^HP%EP7{$ZYeZapa3SSz@c7sQ;<1PttMDyy0~R1Z3hi03B+!?uFq+9# z(f!X^GOAI|>UGjtyCOxy!uWnICsddfh3iCSBUh@I*-KevbOdNXm?$j>ti2^jF?M?8 zbU+Q06#T|`m2k8z!N*p&NG_gcv$U*}sqMi0LAy9FufWF>m~PKN$DFk8qeMuuL7+cb z=6|{jJZxj^4wfpd?p>CDa+xF#Rk@U#G2xe#8kkzV-G!(+Btp}^fgBbG!UxQp(5CZh z7d$Z^WUdxlGxCGXv#i7inVPMcUT5|Fwr#Bgz_5%AObg;#P#UAFoU2!MAd~U^0eRp- z{c_m)V5lbn8)l=5e3kk2a__$7TGrr|We7aD+&r?}JiOdIxm=vQ5*c>aO7WKZ3Tn#+ z!(!AHF~~QSIBkU;xHqjV%af{=?A`8v`DN_)JV)Z_oD5|y`ziH=zw>@UckN?-M|B^W zQNX>>-IeGUHBl+EWR>kcp9&arS9jCQdzBs~$5ZWG+8lJYtt`^e`0%v;aJm06_b*?R z!5er2#4i{NxEAcPL4_6S&r;tbWe;rGHR56WL~HgW+dc6=#FE9K>Fcz3EPkSoSBB%r zbi2T2fc0^&gZ8Z)DZc|l9yAv zy8mWRkGg2;^4-gB+MS3HUVp-_2+A@^mvzKp4z*Ps$Zc`p({=w~$IiYs8L^28tvwDw zSy)Npps(?od-xt;c2zka?Fpk8!(KhLd+txW)A1re^k?v%M}Tn_@>BwlBwpVgO@rXK z?Vu!cx_*nSE=I*uqy^cXw+DM6o~QYqVL0r7)rG+7{%Gfnl(-pLlhXE+bV-qiqSb#l?!fwVST({Tqjtp4?VZ2 zlT-~jME0ts3qfG+*PveF0YK$SCaDse%T;z-wAT+9#%$P3$Okx0<>PwS$Fz7{-zehM zrz&2($_fE^S;?YEAu~@Fbp=1)$1)+dGMZym;&Hjs+p}WjA$zV|dFY-8uN>I3)%nw~ zt)s=%pnOz88D-!k#7Az*6CU0(@!D|i?cvm0!}^?k)F{6-RHjjH9riyMCgh2;#iDh* zzYY7J4udspiHF-L7eBK2d^opmA72$+b@D#JDf?8B3N#g0#i25J&oF)GfniT)9vo(_ zBBX0;rZo_@D*xH=e3`u0{+)NF?Ol2HZ#DLBw+_#7R$Vaxakvt94L7%zc9r*DL+F%HFKJrzO}jh9sg0_jM*w1Mx)&A235~{ zOp^7jr+Hz6sVEeo(&8N=fgnGG9L(x-h;J&iLTj&tI8$p{@hO$39Psfvbt1wFQ^yY* zBjjgMCCR*}KDh^vlrq1^#Q`IOt9gx&iQG1!U>kt?D1Vlffw%Cg^uatM-TZicW>Q% zK^CXU78}?|Wb$d1OJ&yyw_p^*LAjNXO-J<1N|qW5X3fN^YUg*yS$Ec4Ja(CHQr3oC zbebQ4;` z@%Cx#cuRm<`R)m*U0FXLbJa!{ z=(I|FnY6Md7Qh|y+wuV5Rkl=)^L=iVM$xsDKQyL=pkEJH9bPN(5GAl6zdOJsk7oG} zabvV9G{Zz+%+}ZM`XK3KVv_x)CNHp;DvJ~BZ?Qof*CrEo#%I^!5SqXf%2@uW{_E}h z19FH5`WP$^wDh((Mgv*O%)JmElb;1-veA@C0-F(7&je1al-4MVq%kY&{!ewkQKVM0kC{c95WjYwy-pknnzYb*R?i9i^3@1j{Skgc{5jEq$5od_)RKSKC7Q#X` z9P<35VcQS%$L#TcbeH6CiK+eX()(;d!Q>C`hOIe)CeZEH@R~EnHS{gg#Q( zO}i(9WxkANY%`q}7-Yi?m~5jZ#iX#FK2`b?C04V`^r9+UCNdjD2-a%kk!V&PsaY2> zE!wPmrJ07bPJqxm>H02vXfrV zZhz#5<44{PwIhS9W;eKUc^7YSKkfzUGfrA+b6Y2Lrjt07s}d$A9(M z$UPsPG<&f5zJJU$9@O(4kpEg=r<7fl#e(lr*|8H$a+N>b@9{4Z{;4upFZ^v>yaSmu(WFh@1|gZ>zRYl;H5 z)fQT8zzb`VV1cM&$l96SJqr>ESWc2YWtKCQQoTbRD5c(1{=Z!H1x{Uq29HZj1)nJO zcicr7k!O19haPzx?AI#zt5WZ>AMC_Qo?7dfzq;y8xA?!DgJb{Sp5qm_pHzSFj@p8T zJ=vNI3G)-qw^s0X)N0gWZJV&O(Qlnfo35l{m0v+5f;Lh3YH?S+EzHkxYLQjN)56*; z)iqM%jvVigvEOi({fQz!JP%s9rRM@5LS-%H4;fO)n7Ph;5SNyxUD)fNUfTB=rD*JP z`zmi+VuMazpe-4FJTD0SoTpy&)C=~LCca*)>$Evd%cr>#UeB*wDP{2k(vPoHW8VGG zD}^=Y?>nxP;W0{AqCRSTCA#i^yHdcFio}MyRiD3*RGYlNPMRNa+vW7}Ea^k$BVj&d z2q@3|U6?xs6yiWxNH4k%DU<)P%=Y<5L_u}|eN3&P=OK7#BkNK`04X4Er~2w*VtxK4 zp}I8m34T-Y71-2z4S7B(O4i$RZm7<)DTk-~>IOgB7^=%c`Ey_W!mqs9_T9t{I`t!y zzTAXQQ2ddOm1hL_On-fQhI^P9>%}L=TMrGgDWu*~rnz({HY=}mCzgZm|Kpt`{_l4Z z#kZ9Hm-QRCi8B8IRZfO@b~Le(9-Laze5mbh{>C-GcK!R&GHb2Vq;$I{isbRa44xux zw>O;J)!d_^MUnP>>iSs=1I=U>-q=>_niFK)dv@I=qd1(OH|=Sk>QWGmV~$VLq`F{X zlnFmgdBNrEEt|95o%LLYoic%IU1-#4!hKE1Um9#M`GRlOD}TOst`56`YSWvmRSRMA zGLzl2a2r6~%NaWK(el)Gv5K;{lA?8lkiqlZubAv$2Jr6JAqI(sy@mZOl`L&6)huM2 z!GsEZ0ZSK4B}*GiHH(Q(GpYTPWvS^bGn2_wD~@Nyl4CJM>JC6{pPsJB%uXjW4Qb-Y zEZOww(x2f`G?*pprTl!nR#a|5Xs}dzP*Qpj#7dLDLb?mELCRUO2>3i}yF@I^xY#B( zx8r<4VG~n95!VVNIWuDaVM!-3%X!x$Om5MB31>5#=tE1V)HuifA53{%P}n^fg}6vD zJx0kkCe;zD(F8FIYY}V_v+ofQ13p3>iV{EIfOG5#YPs2caZnu|u(MT&b|*XNeyf2o zsKh(yv&d*y9WT{dGOPt;AWeiH9uYo7#@hRh(7zW7Lb9zweIRP?rP4fl-rd4x_}yg* z_SFDEH>8P?D+Xr~g=Bo?gTw zN#au&XGw^u=yp}Npr48{RxN|355Ntw%u~dralNURgnC&N{v~o|V7rF$Asro_EBOuT ze=`!gnULFXe<2E??AQ7wenGmSpL|Awpdp>_b~UxrX{ICC}>ib%5Sou1%Ll{o5(H-hr^DPEH;Tt2NUNH${w{d)0(UHQTxJPIxP-!ShWKz z34__>C$(*Fz7Jx{>`bATD$kv3QhwU2g{0i~d%b${Z8)x|SIK8F+vF{%W-U-*DKs{Q zwV>V|YFb8gAvZ&BS3F8K5iU&bnn|G5L=41iu*9l|AA&2HdY2836{ZY1#~yFOCjOWY za3ekgu#i~`%{CoRUN)j(6P!t?@l?vrmg>707)K#P7y33Pw7)8MF_A3vx5k21IHC%t zKLthj4%-2xdyuil)ap8~TGvqkw9Z&bk9JMpVuG=dP&_R7y#U?aEMwgH{X+d#*nu9S z&mTZY+G0D*6o*jxlhJdF>jn6t7&(7O&lx`(ZBjiwe*jC_iP4WnhiouLc zV_>_|%8fP`|KqxGL9C=_>tC{-<8EZ?!b8Dw^1 z)x2G@YIumBNat*~sD02!akL%39JkNp6EF5QT?z-|9i-+b{mx~QpfX{yDi?aWwjGyT zA3Hlvu$?u=cb_SphyH(@RhGXje@!{_a%U~^gaTw_H9+NSD2G+Ub~!kl?MvlZ11CA`DCDpwpcPG1w>?2UjiOL|+86|2&b&%>zChA0Okm*b(8bp1N>&zya zL}O6s%qLnzb5Pz{mgp8;iDG9(qMxL$s?N#;3CM+-zUstiF_f+ws7;I&W6}+SGSh{T zTncOdhGFD5)2Wgsrz`fhBKz(od#hJlvpKDJ5WDsUxPR8sU?yItdkS_P2cbS6ClB&+Li@+T&>^PbDmYPq+}O!mEx!{S z?hV+ja6;?$0e)v}{Z7~4R76Lt?M$^jupLC#F}1mMlcq|e$K-}%8`ml>07Rjub!1%u zRIV!q6&~n9uL7G~Una(Hw3P==QSmBrjy@Ey;kDw>fkXB=G;&_&iKOaFdERKbA57R)dV@WVvgLsWjSV~%T(TI#nxZA9yU0_F={cy z=+S^|iO@gWe7%(THKD}gg@h$|v|P@hMt-HV-FYYgf;1W(B=$ISs#q#mT2vhj4g0u| zmxK*{^`fBw+4Ip=hq{N1buKVSq~nFVmK(Q*4b@a^g*ofCqJ~TfacoKb7r!nRH91E& zc(sgiibA22+qVVozUIlzQ zN1qIBMVX*5ae2yCa-a>oXQcByaAHe`oF{t}3+zcL&TD-UGkoYen-qK ze*TB37zg8Cc}NH(bn9TdB?p7r8ipASaDd;iJXnz{gSh?qg#TE zGr5W@aT?Bdj;=_Ga=)x1^&RJZ;2FW8+`0edormAb<>(hlC7NBv6xGWZKIa1awwJQo z6*RUlD#Uj<<>8ACqmh<57h$2OddV4L%rmq6{*(8LCs+cb$-z z39%SGNw}8@gMSiS``G~6!L{!ce?B4O)wkl$TTHx4$Df7x^O*SaITf!?=9m4>(Z2>A z=GCGN3K3zW`H;(MZ!G(WTCtCsXz|+jCZo)mLpu*yc1U#S76HQw6O}0U-h+|`#$ek4 zal3e@VpY*A$5CX%{=76YyD$)FaU7Ii?wd%3VbGG!mOT|Do(a6CxIf`)w$2vP(jNupSE&2yE`ouXdEOE* zGAX@}w{ODFOZ}1?z3jp|aF{wACF2NCx&{s+6hJvgk9LFCLVvt}LzuWdv?D7qKDZ$~ z6wgw%o0+U8$;p{ly%rzgoe>46N9GJlY!Duz17wzF8Z%!5P}ZaO-!Wuu z-dsFvsTJLl7~>s~+{kplLw21J5GLM+2}AA+QozX1D2E~WX7q_s^4jPthhD%e(6w2* zH_HOmFg>M-YT!Kb=)6<&W0L1a{>2fQa+@ZkHckl3n~1sNihdHBO=h5+%&fE;sI6FR zdn$QRk-6N9u7o0TL@RhPhTX3vVMMjD3~F#vHDZ*Sr@yOOk-8fs{zf?_Y5-0DEv%nR zVuOGcu2D7Xq_+;wi#s`-t!ju#a>`acPF?~FrL-gA*OsG+{uv97kfa|!D90l>7W2si zWQ!X+O_wc+m9ojjbcI2WSq9Q{i)g}U)r<;+TtMS*eou7z9e%6*>U9L2rsGu6ZROIq zuH@*E6WBkE>zY`cU?zqWl2gC3cbADX-Ce&qJ3lKq(VtM5o0_v?emL(cQ598M5BXW* zQ_teckFFUmu9`KxYSsMV{#CWZg9Oz2<7M{n{;QS@Ph552aJ0${x9;bD!>$vn($1Cy z#`BYI@i9V7)|FMwi%Fc1Cvo9L!B|w?Nw9CW&4UiN7>`h#npaYwo0eB)kZq8D8AqMP8; zW~7y@kiQW;wldphWhLcQmR6P)mSG0*b#~_?!lG|#h-A&utJHkAAELiOyb1kSZ2i$} z{2@y+6VnG;C%SAUE7qDkEEC?B~68w+6EK$qF~a|M>+SUi*g(_aR})ZF>b2A$<`sxh$99;0NcJ|$0do_pW-1I=E zFN=<)h-qT-k+!0}R43^VZSiDu3p4nQLhdUY@oFrH%a|iE_cpf)_as}0o?tZbGOo#! zEnpg-VjpfSTur?!q4QZ5)l;^dALT9rt=@7;l)KD^rc<_Iow10B7RlR4>C)Gn=tW^9 zq^pOIW!R*gqbsBC1g!I^FiJV+<#;Md5&G^|vrRvba<@g{YguwjQUWxF^DWtFPh>YM z@n1FB6G?!yAsISoncdFSB`z#5f~b?|+q_-81-5q)y`Wni{&RU4UGq`t{D$&37CYN0 z8~xyFk-kd6#9;GO?L1Es;r4m{=agc{Wf6kV+}@*p8XKUK^gBY9*+AR(u`RUxFR?2Z z7=F((7F9#narAl-^(NYqd7dkosBzxsg0%STdc0C83ck53(dn8d)R%CA>Ks#Zv=cjwvUv{AH^g1_Dx*m7ZJqdGPqQ&;fshYQBy)?Z% zNB=TAh*@T`*ksrKn!cR#rhr=aEb12<82KA*M@m~nG-^)hR>&fhCo)}No{}}-O&dZI z9P`dw1D!W1JJQb{JQ82xlP|(Rg%_mo07- zdLcg70V;#1y_AV;j*!u6H@(E~rw|hpG}IS<*ifg_yNTLDZj8g3bTff#JIUc{1?t4U zA_aA>5@K!)bJF4nCOMnd9gCUeQ`-3rwIhB;kHLS$!_`$$c7&cSP8Fo3kb!iPXgX4= zcE?%3^q0opm!=vYUyJ%)dgT7xM44_pmt8?^lQZI@?F9iV`oVn z%@~>`XD4Tw*S4b>V{pg*6#KsYAII8#D`!`8TtCN!GkWdscS)#IF=f=1V)pOF zEV#-Zl?_FFaVZQ;7|4L%L=`i08x&5R7j1F!v6m`&w~YR1hAvX_$0~V_GN&tXt4UoU zv#Y5Zcnspn^=>R3?>}b-uT%18@$pwHxshCHd+hmO=m8|S-r)q#a>>KY(cV#5Uwf&g zfZ1gBcVAxZH%eX*|9Xp(w~ze#bDS*h3{o*NZini`(|nAn=l)&pRX;&|$$!ys;r=I; zTra~vn%+m1{2gdxE}X!n%$tD^rB^j1J3uJqOh>K(2bgO@Q%}#}U)D_?uhm-Z7s5PV zNSw)xXnIE_M8}nF#Se*+5%f?sELAM^_bHX~S2laejGW=7)NZm%9g9V9Ordgesl!q@ z1rLJb{3O7M)`)KiS7q33Tag25^{)asPi#hluA#~rIKHv)K}2c@*<-B*JlI}OSdPsy zNF^io!;_wJQ|U<{Z#oO{@fiK=r_craD_7Q3b8LS#qet~t%bKK{XgpQ4sOBq0O{X_D z80}49szBl`u165hU`Z_6iJo;Ee1S}>5P$ffq68EfnXtjtUWe(8bZ#J77C($7>Dn02 zhbu7D*;UY2agC|_^IHk8l?c<{DF*otJYaS$)m4qeMnCeb*yfV*A^PE)A+goH7 zNH?@t{tYVFB|6B~d(=%m4;x4D5a1l=lhMgO9F$X~)adMq2oT-CB`Kn6Y zsMKZ!@WCaHO)gxL8iwMpq-=@s47wgb_k1dg%X2;>%_C(U2QUO4+*X5vySCf@0dKBI zaU;|4Sli2RC-0Z;q}HkXHfnX^QXx+ks%*;0ovd{Jq>Dg21HY0Bd9y(D$jO&Yn6fp~3#xwKN9^M!68+26Xa#O?7_?*|7Daf__^2}QNd z^R$Mf-V?Wn@n`;_)Tb)6g`B3LqqR`lw4mbGWnw~{NxY~~S?(d@%|&*=-;jD)oLlm} z{He6M54TIssXO?f)PZ})cajS7bSNMo`F#965ezUSjv2Yj4Cv5+mb^q%bH8I*4svcH zGDo=EjZ#6a9`B9QJDbtz%awdw2E|kvaa=dAvQHr&edTUKZ6QJWcZLEN+f4rTTr<2*dM&j=PpD|iR)mvC_5l%GPE7$FxjDb*z{`PMilhDp#% zpyota1DS~F+7&imx=2o0Bhj9>lx7kgwq8?mbtdDbw@ke$n0nF238CiWT(yCWP9I}4 z1@oC=ssc-;th!27j-^WYK{Wgt`3A5z&~HKf`7BU4#>k3zMDLOxxK0$V#bpTcC2r|- z&@$5c1&)|pNapw0{s!W87|de)hqV6z&NgBP7FL!ll+^@dkXPf)r!siLI!;QWVANv> z$DrIj-pG%2ez~|u7aq{z0pV$eID~R<^~_JPmc`}Nflfc;HA``oONUQ90>UwQf-o(? z)GnEQL?%B$B>;Ip!OXBF$#@HIP^ZLPL@K8Ei?KuG5zp)d56%L@G1l$lo8P+TJ~zDA zRri5}q{dm045BGHI^sy<|0!<#N3lzptJ1uH-BFrP5&*Ly^^8ZjWwl$eL+FeWP^W;b zDR>2!)FY!QdWD#=r^N>X=V zPG`rECeSxp4ed>03%KgdK@Yu@02@vtyaEaDPG8@J`%#V$$3YYe?}kNn=vxB)3!sx= z4fC=WPfnh{>ELat-jG!hzQ)L{%5|tgsq3B!%$6XM|0Q!1MyAv{@p2qQd>F%CHo&no z+2b$m`VFSh1JPH=bfC-Z5&dU`ZD~#++jW>S+<5T%YsKH9ZP$(-l2-2$vX5L8(M0B1YEh#!hs*@ys zKVE(*BC|1$vmHwLw05%#!JtQlKOF?Yt-{j3wo+;63nJ+1ceLMo1op6ud@4k9OA;ui z2511slu)Lg-2=FpeAVE05Oq*$40r$w%fM|+G)=xKoH~{dBK{ihxoU>Eg5|( z#qoHQ*!oP06G~g#q&TUx^#uhRN?U7`I8_BG2q;Z!m2d>-b2PC-t91#OmxL{58CKy) zsG{;#Z!%Uu#xNnQm4|gWbq63x?h<^2v49=pJcRQkDX7m#3>@AJYQf+ED0eYj-igcx z=5kPWrV>kUpB!VBOLL1-t^;9UL%!HVp-I6mfYluTQoGM3%$o^%>n|gDf0X(WStjl^EJdY66$*F#shfk{5MIRr_k3C_O9qm7!8##yPunvT=BAdfq2QK7oIBG z7q@+EoXyD&x<0Nbl<*{iHysvlLi^l7NcNyG4Ulc^(Ts;VAOXJio}`t=CyB2 zz{$%@Whh>v7zGjw-rU!vc#oIB)=l6|#N|?)4^)M(KjW*dYGLEw6>gUut}C;@BdC?Z z)Rce1Yg=n8ynYS77#k}srHO2ey+5xAc_{V>Mbr9;QOO^OdN>9u>`@&gG~DTmX^sQW z!{WH|GMtOD)2l+v^x-XTOQy*4?92X2=pJ=++!hZ6aa&xSddUr)x&bO5+$ol{@Akey ztURirwtEMCV(4xC?aaYLqbr9Vl;4gH?s3+pI~ZR2AEEj*%qbt-YO=GRM~VN32?)ec z9Bz-=?|`*DC98a(UWEkyF<9W!AdcWc>xWk4MPLp+es5WiH&KE!ub^%nPw4vnewCSn z1C)XSg+wBVF45{5BHsqWPPAjnAEr|&>ZPQLxaZ+~pnz~kQcm)JL{@{@rB;bNNE?qM#mjrE@RykKrAfdogwj5U7ZEbu@Wd($$UA=F$&_`|2_IIqA^tPsSTd`=i3JF)2FPUiUeud}S|jv+NI}%$LEWro(*!ZM$>ZV)v~~HoxRMp!vUWsg=!w^U z&>p5@&3q{So(OIi&f0vHM)$cVYv=L%sVrLg6RQ6D&*vazsi6XJYEV9uE0eVu@ti#* z@kNd#04rm3d4LhBvh_A6$--Qby4I$!6^5v1$UAD5V`VoQ^(2Ppv2v{S#**{TTe9Vg zNHzfiAcLWJ4(CQJD&amC5%98Xh1Bh3`G$E(wmEf2jt++o8C@|XM~@wvF*@A{tN7^r z(1g(eduoT&=)%yHc<=OhPi4F(!Ti3)bMDVivU3=>fCx?%K6JysyIDw1>W>b;qYh83 z%4J9`e#)j&kk9uIM_*BdH$ zN6EkNGt36x`|m$f71l8)UMT373&q^%2SxiC0%EUhWJm3oyZA`+N-O38LMqLhuVS8& zxUDD131)*K!*EzGk{zl+uB5KhzHB$K{mqEuTXmN_#TD)HhpzRVh2ju&6Vx73YG;sP z5(IXJpTKk~;fYdM22;Sq1j*?c8-A}$D@gPbC{r}Fg^0f)Vu*O#R^pL$cMDh*4{|n@ zbx3OWqBN#3qKFCk>b120x`i=;1}G*n>1<{Bm$G4PY*t}hRofwcw~c#R4fx0I8-M-``(@BsCkP>qZt(E{0fZu*`64_JKzS~SIVH@fOn1-~^-|l+OHwj3m4XWf zqu#}(LaJb#f|w@u6Y`^KrVf-BTnS*a6_F&ShP;jxY(Z`TxdO?FMl+oYI47CH(6ibu&3dn7)qeaH~x=eMnhgX0eUsabrR2ae0n zR`)e>?sJ5*F6KFriYzCa2!FOO~^7V^*=HRvL;HV%5V#mp7kWGVaM599w1jRspUQXKt_k6 z-l=W*_vKbWnWc)Yao4_IIh$0mE>ml&py|c8jcy0_%_gLg0{}^KIvABQY7_%C2wK>} zlvW`S8~g^~jU!#F5(D(R#mIsKEWbfE;2U(v65?qZ>NM+c6ck*T2KTmg zI07GM%(xT@27l_;Rn%|4f2L)G#UyIAx4JDNu<1ob=-O(pW;;!Pzu=-4yi+E^#LXV&27?b#I`0sA>Kv8$PhpBU++ z#rTXqm)ZT7jgTCmAJ(+x>Tcb4K$!y2m9goUrvz0Cr zf0P?7I%(d<_?BnSEO5&M@huN=%c+rD?xNRCm^oqBR_96GCi6MG_ji)HTe|6i+eoyt zH$8N#mN)9uP1@k$;iga9antVYI=DmofL_w~l0#Q@D?uM_wbX&GiOtB9B(i&FHGspy zEj>n?dRf}|-fYH)F9vqFWK$y#(nTL(N)WA%L{(UaqToD9Xq~{bF7t!DDX2kz0NIa& zDF?GPQ>HeN@knhWKTC}Tyd1jI)a<|$Nko9Lm`%rMJ|&>7{cb1nZjXWOb@{cJS!=i(uU--ewCDF`xG)q*8!8Ie3>JM_&VgQDFIGnA&trAuuE2+ zr5^~+)Z#3Ct%_HDXYwkSJeEY*ES1gB0xBX%s32!V>NGBO(oa&*)zZ)NRgcGz!#YLtALwD znM^+P(gR^vqMmnJ(upsRz3n7sA1;rO2TH{9a)FTju}p3S#~?dxU4#w{*-J@MeA4=f z|4z{+LNOE7=^m<|mGk8vsPAr7;sf=J+6sPg$*0=6TeWgCp@y74UC|O&*11*aXZ0i} zRq+JiL!v44l%rU}LK?n1{21@Ros0b<5h&{~HvXYR5ArA$rqqCJj9pNT z@CAY{K$k*d3opAb?9-z-cDFE_EDy*EhmtYJFFVz#(#@rJG}H%_qH>(e30e}kmgD6Z z*%>@3NbgS_&Vb!(rhZNSslbJam63&v-q_a7M z*$C4XR`+7E0=dbA2zx$m%TVrD8a!aM4r z6Tz0?mUjSDvusJF4)VKL4t3%E|2nvq7GCrvB4{s3qgMS0Zkc{MDv4TX$UW*%CUzSo zEqZ_8rc?c6FqV=mJHyqrOlER54G<$FZIijGy1{7lsvP5 zw2YmU%Hz{O4h_XvU>fXcI{NCICA&E08EtsA&!NOIp<~y7FX6od7e(6bpzDtkRyj@H zjQ_$KgC?K-f7pBTIJ=5+-@B?-t#Qv&_wIR0Pe~`;nL2aQgdxlc0ht66P$3MOFzSg) z8VI96B9jmqA|RtcL@YGY!@O$dm%%6jjA7c5R6nCyMr$~3pc?GV`W7pdct_xxG77!VOA>b@s z=jip$?{xfiC2oHFx;FXxiHUy&>ztj{(!1?&C(*mS>4sXi6Tj;sU;QjI45?$a>&T3A zEA^LZ=OK-)$&T$i1v>_-{0WtB=^S1xHgKl~?jFu?DyaX4F5IpMONByaONFU;+0xeoU z$(iRi?3@hAUj24#!~IK*LC1i%*qu%cup7ZEp~;Rw4gPs^yLOtxMvSr!ba`gjenFd~ z^=Hj1zUUX#2-FE21m_rR@Q=ZPX$7uR2V^_(c*2PvZ*-h~0FWr9);j3?UeV?H()%)$ zW9~Ox)~1&3F|BjzOm%gx(>R&X!wd9JJ|>l~`guR}YW!1GgY2Tz-gb~-Mp|cV*wGF9 z6xvR33_{%|WA9)_Q(49zdcYfUt!!vmmJy5rZ;L@oy`L7Hn6Ug+eUi+E)>vIp5K&gE z{Wo%0el$cST-K+SE~HXBsHby8CCC`5)O7)sx)wXf(2KcY$ppfM@yO1W*s#J2$DuK5 z^#P?jyZj__tJIGCvL3Z`ziDk#Pf*XvtFmLQn#w&vqjB%XM4~PO`>RtaI1%Ajs+wIK zHQdjB6c}z2JMDka*87<@VHgq3*O2*}?h_-``ukYwmtIDgfLtfOtYvhsouPl{`BS8J&*sXiXt%KZ3N~>MWx&}9Q6JCSpeJR!;oAOK;@&{evNhkfZ zXq=n@x+cx$5WN-avi-GF{*^NbEidOn=@lWFz514TdwU8x)m|0`PqZP!h{TmzNxvS0 z3Qu-BtNLNeyI0OpOXmy+)Av!&<%vo`cme;8e6R@zQL!PPJyzZ0rEO*7L`tiLN=y?8 zFd9*6p5)ZFa+f5h{ne{UP7Sr3B;r=M^H@%&NKQMG6Dh6sv)gjoPjZ?-oqAVJR!iqm zr`^i*)V>W zGY;p}Zk8Ojdu~rO8Twh$f1!1Mrja%B0|CEMyJNq%Ck0NogLq#DPKDJ&T#y{L3m_zl zxe?|$ug0cn)7I3f6^n3b!hRu>I@CQZo6YWmHai$;+)tF+BWa)|_ET@+Fa_X;7nR&b ze*?q8ehCv@eUal`;G~+}hU|q-_E8jO!5ip6b4EWH>$hLQcw3*3Zx}4-Iw$H9Xpmya zTC`qUMEhp0Uq@&^epey)NIG{Xat`z%Vuh8^8!*)nfFPDo14a;6M0P0mCp(meYfz-D z7^2R_L%qZPhf(+1mMR|VaQ6i=5GTWscZMr9(+Cj(;ly#Zo!OSc3@-BhR52Hm7>P3R z$9ULIKti$uMv_E3)=j_b{YFTjyqm#LQyK%X`E7$Kd?l+9Si}L8Nd*pf- z?8m*LE?8)e19IsTEE@+U`^h(~V26qgS_G)nAUkDrZLI9g!CZd@G7D5HgaX#YOPS`m zfeU)4i>ppgZi>*_FFO$0dCTa%Gp%|B2e`?YXNxiYpq*{neJl$aoJP|SwfC6b+e7!} zkQ@Z5{wAzq@!`8UBzjamSmF+`m~<%Wv}E7-Qp~Smzq~WTJH# z$H&15mVC`%WHV)Pl`1&u29(TWRj5)0yn2cL?KZZ)7r1W*`YqAL*zCK=MI(X)r*e2W z3#408=!^8CQV{D%FT^`J26z0f#ya|Z3Vj0_P8*HahsSg7VP8z*p44lWs1=`!2Sy6l zpP@{C>-jJOJQ*;lOdCV!UCcEP%gRJ_NAk&h>|h!!%uZy<24;l=8?~p{MTcH^0?N)$ zN2j8pJP}LrN%($ZP7zMRQJ*Qr^7>I{Df*{0!Dei<4`MyJ(xu16SLSo2y~rra_~9aV zuAL5xCr|V=1$uTox^fJzGGRx1DTSVL4^QpN4k!3P%6@@UOmCl(U*gsS#aIfbSv4xUy| zh)GFbG(wo9(4r5v?F@`h)X9L|)xmPk*~9GV)X^g{VD1DlwBR-WJ%H*sOOpPo>L*bi zDfNhBpEt0Wg8L1jPfgB_*VWW)Ji*i1`V2RB+9C6e0FM+5L1mbybc-DV{6vO%3bW~9 z9~Pd5O@(dgxvAe75!*1vvx$ua&R$V{N8^Nsh0PP$Qk(dwW`{F)xMY|7Oa@uZXSN7|*@V_zJ3S{0xu@rDr*FVM4IV3z(&(Es}YaSrW~Qa#3Tk zW9y(?i@HLoFKXLv4uFg8amOP{jEAP{oWqtZyZjt6yn0tJo32(oXt54JHUW`z`~%`6UyP^hOye{h?o2@=1wBW^ zL-a39uj+DB(-=|Nxn5Vav$Jb6Qq2?w8SIpiUJpUKoT&lo6=z(~h+JnuW?C-oPDeHn zxr;N?%FQm2IN=__v|KgB3O1XLmSKk34e8l}hR&ReVZHq3+&D)gR;@jOVT=aif3$Iy^|{uqaL!GUE%=>zqJnYSMid z(%?!x$II(av%WIa_DZ~jBk_2WW%}1F)8pwelhCi0gnms`Thg6HiK+;k7b+5`&1q*} z%u?SfaB5a>K(4}G{0ihx09!Yfew#w%=AM&jw)&50Jvq816CKr$G(s$aU3VJer__l_)^p$T&Kq zFeeZU)OM}7x*yred|(2CS72ecfwD?l<(K#GjeeDCC` z+;Q%XZpPU?GMymk`0V8jghnLAouBqU!$P)DoX)fJQkftHn88s&pY65AjAXrNnX|C1 z-!AlA5Y?Fa1H%m7IW%<>LO95nTP0xHid4ld6#GAv+AEOq5|rbg?ruP`H~68{4tFrf zg)Q}C9r`<@e)#NY`-Dc#vMb`0;8x57u?Y3KM`Xw^as3@jpr6-;f{fgv7i83m>VA4( ze}Ox4qI7S1q+Pw5t9~J;FU$Gg&$*A}#sj&7hhn3LH&`|cIC&H~`rpM~HT|1hc{*MQ z?IKfZ5ch;JNcs~|ou+*x6xoqCHC)!j1=G|DHYMN9Lm`>0yo%0vE@&Ot-^m0=F;C+& zrSM1dI#D&}FklWqU<2?F)kK=$gtbu%@*KOs0k&pUgP6b9;fkP5eK+Rq-V)yKpaoOZ ziuG1)kQrW0rQEvuluiM8m8zsgQIX80zc9SUYBj9EUE9~;n$+uMN3EEs9xIg5jG%(F?fq?d zpJ2=1lQr!kJdqF1aN!sST^PWH<8OL@HIpfeLw6>K@7YxhnrDf4Wmnpi=wFHb{{T_I zRxeyA-L|wn`O2=$uF}bAgSr;)QHcnxf52j#exE3I`cYYo(_1_e#V7|2&9#pHX`J|; zm#asPnY_@oF%=`UEn4w{ZeZKTrG@Cl(@uNbxmhf)XoXlW-XN7aU3N?%lCsq^r2Nd% z=}9&E)csULK-o~QMfy)vC3Cw8-T>@UXei#U*01RQjH_@7PScV2uP(4lg;33)Ktk)_ zj7`WOtX$G5+39c6m+L#U-lX$)pn_ce7p*P{rW&_eiXw}nXkaJUfqqJiDiqK%hv=N< z5X8HjR6&;CEW~&d@W*i$KX>lXA5*K}3e+RPl%8N53!x4F;yQ1^)8atC5EYjGj44*?b-csO)3IBrm~x8&7qN6f07b0$Q$-FgHp4&5aJu0Dtx<^7lu1P z9rs}Z;x)$QU=Zi!rJTo&ixH&T9;X&bMO??xRI5!X$-zne+_=wjAB)1R&d0{O`{!s< zlsXox);qNOs1ByGuY1%9xn8y7?Ol+Kz1ifpBft*a3w6+r)2VOvVMmw82DvHY5{;)D zlM4i7g}P#+-Vxx$R=pQdvkwGwv{`5UkJ0F(`u=#w8m^(&ke}Qe_VTuXU0G0%V{{$? z?f{wt7%+$d01NS%!`>G`qVb3VkMUSqhi$Rq8Nf0v+__SR*&|G&EVeBW=vc;rY*i0U z91PTIT<&>3hlYxkDH)NS>NjEe9%H|4^gSXxzL$O}eao;f(_aXgD4WBk6g1`|*l+Wd zKoaJ38#DwNA**^P!iM%GZ3VTuG0D(6J+@K36_!~A^%a54uJ{h+@F1Cv!AA!;GZ9*(ad9zzW|*Imc}$AF2MKd^nKdHiP)s> z(f&r{bD7!@smHyVfpoLhSoqaa33iqYuU~6_E<5o*#BXUSLrk|h!(beKjOJ<;Z6?+Y-o7CN1Y2W<*{sIi)=duh<)qhMO1bHgmJ_~14 zdN3gJt3Mq<0(~Jw3`C=;;c!^7M!$~CT!$B>vxKL1bx1H^M6gD$6Lu%MGhN&l#v=2o&%ZP6%cKuHk&`_fc17@THf2s7KvCZt3GRVogw77G&> z!2>YqC9)~X)L zRlgkAYZ;bkHFFzL8_@y&MeyjretsD{KsJ^r?L;+mkR6F73h{2RqB98C#(VwnytK+p z=tXhRSLfu**n;Cp12b3@7>vd2N2o!x>f}WDd>%~!d^-OX(QQeytPe&wjXQ$os(sN<+qg1_w z(>uxb5{QA5nLIAr&Gkf@Ux(0r_0RCMg{ev5IWQkBUX-G#=b2BzD2VgKW_>fp<4CBp z_em+!S30XMH|n*d7~_8{?R*FD#1#zT=?E(4+9;C^w=VeKh~;P3Y4Zh*%`@9#Ol=r) zWPqT44#DbI@1-t+iy@+pxKsHw&5WdTqE-8>Y*MRFQMbrtbOcpIgHZ^vo5l?Y6NT=T zk=S*Likz3ZB6*pIn2rT$0`Ytuq(;m#Q5hU;cXIlKU?2}&Jtt99vCFj!Qfxy5<7#9a8ZTolac*dq<<1IFrLBbQ9qdRAI`)B`9V zFzDP}WaJ&FF2b^KYBKVm^sK%MMbf@7dC%;sQH_)8YK)>bh_R%dVkgpuG}Jz9pTzWH z@Nl9%6b+ByDwzH&$AX*ZN$f^GlH2nxqNKYe4H;Ix5`I}V?IZgqsY-bW7f=vVuu~*W3JcU}CtLNnSed9vGaj-7VVvg{?hvjmazaz&IOH!57@%L7*(KhVF1u4>`e^t~`067o6qraIlwm z%C;AwQs)Q3b$GM|?fJiI_j*mmzu{6Deg)sedx&^ECVjdSypD~ca>R{nauji`i9h`-3Wx|Bi zN&o!F(>4HWCVq-Rp@Zwdz;$*ve{fPSF`(LCc2XB%GWEe?wm$O=)E!oa$KHk11kF{% zhmeCib?^z;>gL9U?hoT9fw>51S(gXT^xccC$AcH8g4d(ql;GzmtL@wm-*`o8+gI#^vrfCi!4-f!PwNf_ z-1Rz7854S#$wR`KcuNdiu9<8;DiMXSjd%A9rUuM~%~9}M7rXz6H=KdYd9BXlxRn~b z&Eg>Nsw=hnsq22l1`i?9lY0y;97K6!H!f_#B5!AgP$R;neUK9^x6{m*u{i0-_5!|FW*k_>Lr=|^FX zL~F$PN5}kD zo69W>bPt%3xgVPHou<@RURm0`{2g2Ry{OZQD1l`$pYJT+MULk5tQ2k$L0HKK znMvqCM5^v&r)3_H#NFWXH_*f3S@LV6$HzSYh2*{|KX)u<3U9(~U@P>TiM3o0B+9Pp zIy0SxZT5@|E7BxZByVQj44?D9ncwx)bHQ+ry(q|hF)$mTi84iMHbb`s&W6DIQhTDiC6_rN;pl#T@Jf zn+04!n?w>gfY{dN3z^>3xf;=VqJsZE%4ns2tnGU3e8f8d$?#zuYyqoSL~z%zU2Yzg zm=6~*aAw0P7~De{bU4tn+d~ukiuO9)c|oVY6S#!Cr8|kh0(-Ljs~WS2^Ynm*n{aOs zkHUVUfrR!-*Led{8vt3|g3_SLMlIba2kk`Np)oN48PeeTfY43WV4gFJ$Yqh*fb*b) z;qwHfDCH@VtZ=)V^i_xvkk1@^hhD&)&*>S3nXsr;PTa*`1Xe|0 zvH%od2#0t&Pb4+;j_%XC@MG?gS&8X;RH^K0igOkuyUeP-5*%Z(i^3CX&~2mN+jWP} z)lMY&v`oc_k_W#Xv4F4F6x?7C9RKT#8oE$WQ3^%;SVwI8UE2qXaM4IdczMIX9ze=J9GYJ{r-_zzBylEgoVFM)mO5Qc6{y7Yi<@k=U*eK;W^5la3A)qxVia{cJ}( zE=okY>U8$NMm!fZ`NzwCpmEs{1@EV>Oao=ifUa4lWc7UEm&F!>l(HR>d*>tJD4{wz z56)fP#RCN_J9$&|Kk-gj*zDM@V>UiQq?EDiz*EEfzJ1-(TfAKSd5M1A8zGDPO(k3R zrlTH858K0>DwuQ`eA))Y+TIp>D)le}S@z^;CHTih9>ZK9Aqs3Q0Cz&rRK_kNkH&2$ zHr?$9jg0l(rO4rwLhU@LkAUf-rtILjiaD$Kte`Rdm6o_)YD(EMz+Yg1&!avYh06vh z==RJk+=%8wc^ioUg0j!cu5nIhhc2*nN%tbowUJ1!W|>d3xKs(6w9xA|ez*&;CoJ~F z$0F-3`W5@SSl4G>*L@VQU`7#2H)ZC^8PUwtjPb&Y7iMN=)Xh9Yt7kK_iHqu_KJVXS z%-v&-Ib)7NPdY51DGY=SOX*D}x=}<1x0vxanuXpRv*==7xJ+j*)peKS)yt4*$RJyd z2Suws4T1$>u_uAAFv}hT&6?xy?4$vg;ub-`7u$gayqSpBr|6aJ{8KoSJfImP8IZN9 zo9srvs>M?3JaIH#n{B~6aE+J4d>}5Qq#uYycNc3y7RKTZ!bO;9vpy)^!4l2b=gAY* zg;_D)$S^C#xRp*y_GO34INQrM(8BBs@iy5tCO9b(2%o1nNXU~0YzSy=xxb`8Coi-U zrmCbg5WI+IMs{PP*0^9-?!OxYwrndcB_W!c!bQnbRfIAmg(aX!Y%EXW;!Q1NevQyb5TI^QVlrCFPuB zypnB>=H`J7AYNm3K;kN!T&`NzcuzR-p%7EcdqVqA*pbP1rTtuH2c=H6A4A582`)2p znz`8ML+A>03YZf?l*?>hzMzAN3@5>-?+C?t0RSHxQ=R2&yir|PQy$fsimhupq3-x! z7mbbdIo>r!X3G~J9FbLv^j;s-ru)B7(iqV zOz1GhsaZ{M0b1-HOCs7gOIUj z^yBR4&(l?``=e3?ECEwy=l@QwdUMYGS`L)VTXT8YT3(-%=wZ&SIrFs~y0j*i)JVd` z>X)7B`_68i+f^g+06NSr#ELYRRAL@*cw+g&XhPY{h+=KWKjbLs(!=S+QxWf+r)O2X zx`Q~5!su?Csa$Hj%NTgb{e($^YB5ow+>OS&iT!P>XjZPUrK_3NY}5A>SSJK^IYyC> zz}ZEr#>)@mwSsv){WgpDKZr$o8vbe`aC<^u;yfNtke^^XkO!s05>$j%#uA^!&}~Ok zmdcw8*?gvrghwCaJRufJcj? z7%Mc8;0`PFBxOZ}8jHIc5P6k2hB#7$W?>9N%svA8&TO@*&}`Fxvd$LV(9lF#VnH!l z(za|y)M8R?+ zc)Dp^}Phv!gaQ(^_%OwE7R@?!UZJD-EoNhj&nMR1QXf& zw7R=8o)?Uo{U$)ZP2B}qbmf<1+u0a3nYwGTo!4dy*JPuO**Q2nK$r1pt&zEG4eMYZ zIG%o*Z@HO`Tj=KmUaty^@?%Eqai(7%$J&Q<4}CKYK*Hhg+zoL!OAH-1}k!59W4+bTSY$)rBDHc@C%I#dM0K zgc^^rRVrAeP6ZKUfAbM%K7z-|e2PZ11CXY<{xWQl=5jU%xP&hE7p+eS1Al6 z88W+3vKYe`IT}&(u~Sl)qh16FDL@cvK^t*OIar?vN`lV=BCG*3gi}RXehByS1xCnc znND3~w^8?8BTh;?#Gj8MG3Uouus3K^!Krr%8c({dFa9pHZFbaqEC4_QzEx+8BTv0gD}PS~s8!C5MN zdhB$T2aMELGDj0XG35M6+n->G`#j1TQTX(Vu`152R77e%A+GEhNu9&^$6d*f3weQN z6+EtMZ_rWuzRJPR1;$d`I>9X^5J~~^-0Ms#u>Vj9n{n|ChnBor2O05B5qRX3vfO47J8y(@WK_|6pcQxOq{*Otuu3_PEXm zi}1Q=?qZaj7}q<$wcb<%yW9ar-XR>F9G(iMkLv82Jx6u0rd_Q?so?aW>I>{JTWlg#3&RJ41!dZ zRtv&LY~d+fsN`Lu;!dexmXy4!lsrv7I@Lx$yTDzD=x4f_QkuMd1rVA@1*Z5jum^qA z3;wBM^-`&G7!^$6IWgwuAE?MH+RC|=b1a!yF%4e6V-=eK&JgXJR8n+6zz-q0q-RIQ z!_s_3)Hus9YYpbH@UFoLKegsiJn@sdeq7xPCC_+vF9VJ$HFciwoX5RXQZK)*R^Q!) zJlTEC!NIZA(B9-r(4pKinCcI|!;->2sf87#zOU_x0!rUcGiGT<{E;QD3|jFCx`Oc; zIK{y04G_$a9XQURy?};OZwV}I39+d2%Q@)R9%NHhJ}Y&)i#aI=DPmW4%1d!3yrAV69XHGY(_>xWoLn$EVM0*K8JP>OqndCvQQ z^#G9xm<+ZalTD7uXm0vOjn`VBi5P6A#9?|Z(I_MFHSkm@0|Do9mPRGZe2fm7Zv!>#vVY9u#+-J>Zd+>c$Z?=!|gRjfM zP~xi)e;yux?jL_16n~DypVQ*cTerWpB~B{GpUK0?XOfb9KIeSs^7c3V_`{cz=T1)w zx<094k~Zl++oysvTp68{WG0~|ORsr5FXMKxe5}XGBG|zWX6M@`ERX6DNzKEQTCiBe z-=v7p()`8EyutEAOw>2s!dsXY^#vu*p5mQs>AA=Q#o=7wwbEa=_HLV5>+(xv+ivuY zFt{6+ADjLT6s_1AdHZ?eK#C~3#hFK(9H1`syq*1nQ}!&}PCRdVFnq4~07YJ-w};ox zZAjoeq;(a)*i^*zt8x~C&${kjL<$ACOBhz~5O11ys5eA4r6{j-K;?y197nf$9spFZ7AN<3X-?0AKZfXN5rDXE)zX<$FwX z$48?h8(VtMHsgnzCdgK?A1CfVVY7Mz=wI-31qUChde-p_JUCJ?>x0^ZMFM6$@8<~b z8RQmZ1rezp(vil3y1}Hd9%|w-ICyGiy7Dg`SYbE_KTpxzTuy7^I zIfV?9bgS8$X!rbkGN7aQIL%qiY?-V{J17@(853zpOB1#9Ol?KRw zGHwZ^@-L<`INUSje4$s^b;SQpt3wcMK#t4P5Pnb{>&aj%Lm=g+{Rq7lPzUio4i8M&saE|b<2+0Iv*a_V3b)&q+iZH1jqb4h z0)r6ce8N{soSId3p*bLtrLmWU!G4Veb~byKAps$PfhKEHw+VuKhtZo%F8;jU#9x2s zOKNhauQob8*cDFe^BTJ<&6D#Zd0C%{MpKyRh|T__yzXGp!*m30#-dvQ3>h5?w)uL( z?0mP}+h7ViIy)H-JhvU1-|Zkdegcsvc&q@dixiXqzw9bqZyYE)tQ|fUbm$cFnN*nD z3r;rias4SCNuZ!Q?8J-iH6}P%m&I$Z2f_C7$cUeGY0@qFGp~zO=_Vb2^~ay7*Yys( z(f80d1}NiiaR%rvh8)8hO9KCPLr^7m6WgOSz`juyv000oExm(dhx;zxL<5K}nh;u~ z3rNbOJ6rX;u;)sBPeXz}?ULGOfs9bQ(Hi0nbhy{%QjSRYPmTrrxpi@qf+~EO?O}wv zK_>*gEt4gDLa$njIv8%+1FLnh-xet4Y#xkzo(`rqT){!ZZi4uWK|p4u2f`w}pj zmosq*XeP0mxIe3hmFj?9b-kQ0W?94-DE#fJ{a0dqs6R@Kbnf@i1>nv-Q3xM670In7 zEYw?-msYo=;AR|0*|hq0?Gz!@p$lfH&Z`l{`(0)Zl2po(?POJdR^GY~@d3@)$};d- z^+HK3b_(j1+BZAGDv_+m&sXP{@v6{7ua4jVd(@Dsp}l1s6J*ygqVF0H-5cBSw!vJ zPS_ZtN5l`9C_f3m`tz$rSdh>uC55K-OsQ@W(FvCRXX(Z5>cAm3D$bC@;SKsj{@~7P zgOBe&UU4|JrOcOMF;Mt#a2*0FUgSDo#MIQe%=NEu{S8p_dK<}R74E}D%8v_MCsPv( zRHi6ihhUl?*{9xureXk64~ zZa}sk2gTdy=wI+UvYO8Qnb^wOXOY{NY@rvEvJeTvIBYaJocpzTNGCQvuJcP)>sjy* zDQw6>m-UQ*cLF>i=Gz(AcG!oaS16UeQmIbt=klb3Obb7yTd|L8)1AvZaAN8ZVd<*t zG=iGpm9$zfO$D4yYx$TRkN$-EGaGj-So&-?Z{F^<04!FuZ&TIDV8&qxRq_SJj|!eC zut{k=#bR;COy>ykhU{epK!c8ec1QOU>c|6V@rc7$m;3lK=3Bh)!dNq%!iJV-vq2M8#-s@+*Ucu1UxR1mHSUv?t*`Mzd6wtWU0n$k z&gwI$tH8oTZxOH~yTDZgbiV84{6lZY?A-cxp`M8Kx!6Domz>VVZ!T|*(pg*={mjn1 z_3}{*xu{=8zxK)S4(88fw98BgThh!1+nQ=Aw${hr`PN%>G6l}n>TBpiQ<%$74o(O6 zSvV~p@LwB`WY4eE#xiZpLR}lt;ka~{Io;EjT6;N6mHSht_=;m-yzCVw{f^!)Jzq=z z5=?@KbHoI$QSgwm2z_&GQ1CZPTja}s5y0W-GHjpqXTU~0IcM|_P zqEXQm+C!ZU+B+R<10wg-MP)F4BiNGE*mSuHkx-vBn9~hzq!Sxoh8`PP z>N}Qo+KRA7oz$z&nU#e@qob=PC+qAl%wn@-2OJ(wQ77$;r_$q&dSJFl4PZq9u1jIG z?SFaLy?PiXbR=);7lgn$mSKTRP_jAk;}nx;4;O43zSod`7yB(X@0|qG%G3R{XEd>> zd$I$E7iIPS0&o5id$c)ILs_%B*_#Z#o{2zQ?F@N+S7fbdR!l{mR8jXICj4+z1tAs5 zL|JR~^kD=culE||eefgnNUGg56knX82fZm=JW5@?tj|lm?U^?`=Re5=ts?dGU*pVU z<=00kdz5%1FlBM9AQGExAHW;rq{-^8Wm(8u%xN$&D#YawIo&x3<#Osp6lv->aez&F zTc(OqyJKn73b4j!xIjLA_R!JgLn$wT~KBsfi}9sawo7HL6qQsuzLb$!Wyo3BS=JL%0mT5ev@y)G1}$>AKVw zzx-Rr{k;>(op2HG41cRVc%DGLlFW+#C9}AqPHFk12!40=_j31sUdQK%vG?v&*9I-$ zb46VGfbYNQyYKiBdwnoEV+V2uGH^T%9z*K~ZcU6j8f06T-96@MjN=noy3l!_7JDAi z0dqK=>f}{$87iw&7vkk0OOY@mEzIH)S76_|)v1f1s|n{bE_t_c$wPhW)cxW7lc#!- zd=gclSDtEKP*kVRRF`uJU7&vzQ5V?@6QotR%j}S-j6OCWQ#?W9Z%zW^NAcEkG6dNpoU&1yB2#MQUal zh6+WpKr6K{Ia=G*opo7LB&$(&iO4$eCK=7ZE z4*iUbg9b!tY-_})sEmN{92n5oYE9CuR!mdZI}jDDl?&=#K{=o*W<;G1a|5#l$&blC zD~$ZJ;4#xArj)`U=_U5xvX+hgN9ws04%hq^lNE%uJkN@3xH+TF&r61!J{zf<049}x zxec>DZenX*JBTvHA}&jY6f7v0vK^DV#)`qpE>82}t7Om0gdj)e*5}LWZ^`fWnd{nv z_3dT#zWnZ7KQeRONU(l{+)h!Wttbo$7&cZ`=lW4SbKR&8_%5r{xyl2hRBe>HjZ(R_ zwIr%EN}Wcj)LFG8>M=@1Mybg;Bz4B4SefgIB$(S(-A-F3Q;b$dh9nbACXI|>%wdFW zisy#R55zpo1bDIEsz<+wBtSu(D4lO*NX5gtqk<3$HV&^@e+&)9UmTA513CuuaCgT*5;w1%!!F zZMo5=)?03T9*d$lcpRg(R9CK`9L&~ehFE|mKWiSinwyvHanvVJU4 zsys@aN2&BhV~J9|QR+8J1uq#(lp2mw#Zl^b*;t}fa+F$*Qq9Z95~ZG_RCJV@ZWv2U z>J(Q>YIWt-^tf7ay`*ASZ%vPD7FSK`wsC8ET)DV*QoU=prpNV*D=0O*ertMM#kh`A z$s4w&$F+>BDfPT*YkIAsNlm4yw`{wV)HSKB)b?xJE+y4X>MIq#ecPp^#z~c>&YR@Y z-E2@|BE{7DQA(?8*+sb)$qo~ana#ftgn0Tw&PZju98XfxWKox?o=jU91G3VF~IFoH2%O7IcCuIm}0ChhJ^PI17ER6{PA;)Ctp$1Z-lp~Wk zCOeqhZpY(beUp$DsRhtKd_r;!sAG!l+TRHGj@zTUEKfR93jepH9+Gd3$LUhv&hr4C z^O6yCvmC!9v-llJr*T|$KB)E5I9%tKnXMiILr|U3g*4w#l~2>4?ygFOg#F^DuO2443f{g7=5b3EV^GP|ZqbLuQtwgHf6D}HK#~%Z zQF5f6;?Jy9Ewn$b>ALat}QL@#jpIFZ_uFKeP$+oNfP& z=CAW0Wa zIQfUSjJZxB*V_ntOvEUQUGxX;6q*Zi0Yg;?Z2Sw}aO}4{1=-~ZDJ40RQj#*aPZ=wH z?8?|TO>tjFEfE5MvY1E5wzJ9Ew%?LoYYM24M>Ro-VM9fgg=?pJXhVf|inD9{YHrK| zlg7PNnNQMb7G9f8e(m*XE_tc3*OZ*(<&yv8g~wic?6s4o7^^2%0F*7SH};*R2>ls* z=`m_F_IukM36&aa{INz!WC3H>3kezx!CB#88_tk%iDY~04q zxDwx!l)9~U8XpiTciWxY&Lp>_HXnKl#Y*1h{TG0;d)~!WBgY`W!%=`MFz^UlF!pj| znQiwi0`(94|8tiKL-@h}58l6BUR$d@mL^<|$p5q|3RAPZXQ*zlV;Pk@LjB(DVQV+m zXV!Lb(uH<9$g#P7s6B{w|cY`p(wj zEN@+_1Qti?d{-Jx{)OX}666z(ybRh7%x^50kjo-%NG{8`hzCV|GAKT#9*76USOX-3 zg1BPpytsP!Lh>x)Px&Md`HU%XT;y0vd{2@tau@zVU>4#n3^c!l5DOu%T~jysGO-wA zOE7DYTWZDgqDl5bDQet4-*Kz&$qSo()UW*HoyYntd2@L=$sS@<60+k8hVwtF>&OdLZ82j5WyCCckP-FcQB+{9;mXc?^mJgn&>T;jrV3 zVpm3 z{KsXfJ7Y?koZr9Q`BU+pGI^8as_9m*#5YKykh~=Mbg&bos3iMKw)>T&k8MO4{13|D zCnRkaGWY*9?xhH6523qp6UXl^XR;Gct|Ee?T|kfAc9(1+qoJvk6ATuHP_Z4SEYWmC zW?zq14y3w4f*SRRDg(3&J2H*!Z;XAWCrBEaG21?^4dF@2^vL;mIhW|ZB*;Z^I7IIr z-#9cV!)ltsVuf4ClbAiq7L`O##Q{r!jZb>FQuXoeBU35M%v5%!B##%ph~&6xZ!80l zLVaA>k8`WuON>jf@~O9badl)057`;=1a=zr7Liicg7I%hW=L*xm7OcsCP{9%{X|0( z2J1zpb*Qq3j=lCogX*Ri-4nW)7CXXSBNG--y?rFrb-E?t_ywr(@NBajX#d)9GNOiM zAWa9bCbTqUcI0}!pi`kVQkFw4HzV9cMXQ+C?M02rWm$|)LQa6TBlH;4m7L1#4;MXL207~ zbSg-^qLDo$v*VRL9QNji^>4rh z(Lr+Bj*%|7=N#>r$oXJNVuQX9_UD|m1FLU{;o3u%FXjus&6`*9<(Kn}o{BzDsr@Y( zRxD>@nJ^5ak@>tIj@e<{S+Ucrx2&|Bejccn>KTCpx9ievnsJ!C;tnXA@vy8oDCS!1 z{^IFd;wpW(Htxf_Xi*OOunnO~tq&(kAKH9hQqP@~-AU?%$=1ZAPFP1}N6t=Qob*WV zf(Z)41GOA%VGY(I&gr>|E0&X)be@o!Vy)U%LN*IwEth7M9p;y)dSBGU>tZ-8V)(S6 z3FxJ}J-JxLU+xydIVkL7MNx(=8%k|Q1%qlDm5>+fgcFF>sM6;{E%a3xgMr`x(e7b+ zN!7fo_EX(&RYGvgJah1$ye>yV;}f+R`RPZzA^b+Pf`bd z8G3Jg^#Zt)aR`SC=*I(FhlcoffgUl3sd2-``7;2I`gHEM|m{&b|P$VRX-*o+UPOH9C*{NQ(f99I1|zW;NSxZURPu-h!h9?%1_ zj89UIv>Z9S|J#C*0-@A8xPhc2X4E_N#nPSb%%9reI^f}152AlfrXvxD~4q%-sKgL_l9yxE~%Zaj*^Q=15@%=R2l zqin^#;AVe`*Ihzw^y(aI7*qLvF!ILq{4Sy_}v?}JbgNYn=y8yFqn!X3=-W{ySq`8-)NM!M}0iG$-A^eh2P z^k*cm5%QA!`fJAozRQyDjYi#o<%B)ao+RXlcX`%L|C}h@XrrzFw444hwyLB)=B6KI zsB!kNoB4ix=HKt8zvq^0xeIFsnPTUfqzV^^vX3-D)yrecG!CP#R&3>4qD!J8F ze;;aLuOA{sTru-GMtfO3z#3C{#;G@@Cmr*QQ~U|25|f|BJ0bkJ)KY5xvVhFdc-LvW zBx$|ZX}x}oCqcZ&TR%^(tYyc-8DuynbF|gY4_nZuy!{xp3pj`mcZu6+oHw1|9jt*^ z+Hex}e&8rf_)t>LTS9owLhuaQedX5#dn(d#6XGJHa@oq9fc8pK) zJ3LPe)1r}2E(qvXSn>t*x^nO>Rq{SXFR*?2(Q zwI8&Pi}N>u*ZNg75!30l+UWpDmoRkteogR#kcAmm>ZB=>DdWm0FPDEKIPT`ov# zWj_pjs6czTG~v64MjUF7Tnz7-UtlvMm- zlbf4g5CHd?NB!H!zZapRZsrw(SB&>Ech+9GA!&57;aSaftRPORgzUD3FoT|(tP{`e5&0nG&`AH+>hzqqWLL5yU^@|^q{^lp0AX`G?V? z&b9gSu0`0p|TWJgt(R0V!=9?&pN10aMF0)5Cl;1qr}`UVbd}92`_1 zG@@!Q(==`+Dez`ZfGM9)1{1OP>kZj1_ShqxHAHv2huK~$jJdZfq^^V|Ui2BPPgthK z!pp}r(&U12u12p9Pw4dwfNV$+Pk)#wY)1de;$BhS)p%m)76MY4y`2a=D%ZBTg?79P zp?MzY8I#>MXIFPo*zRk;-LHoNG!jM_Zr2425tF#-Tkp)Etaa>1oP&$I1V@`557|5d z1F^`2YjJ{XuRq>|5m?1O0UVu0b_$lCS-;mA#I=c_8F=iWqGVq5irCYi=2YVH=eWBd zrXfCB0k}(W-n(&$Por0DjBXPnLZQW@kXjj_2b&vg(oe2)nk!3LAM3rhle*j~gVl(= zkc}E@tuirbm2p&=jRu=z+GJ!o%_&V9E@)BSuMluT{Q>o`g?0h~Ol!o^f=z2!4!jO$ z9MIkpBBqJWoYdi7%@m~$GhpKCu&-tlSjASd(Sk2!zyW$&GdMTt>>avYWoP5NnB(|0 zQc$)~<+590o#=GipjJ5O^OL*_?PVWW>0;X2l@hNC0uHSWp2<< zF(v@`kw(yDnH|7-aX@AFM3%c}LW9RcDcP`QN5Bb^*XvjLABy~zWv87|@p{KV6Vb~g zW)*-WK{O$f1x-rcg_|ZP(`qvFx}3x(%b69h=FF(uG_xuH1o*$W35bPMw?LR>c^#8O z{OD$@F-fB3r`CF_pY`C_q{CXwarj=b-IT_1oo~c*^n974hjBD?EftIRF455!amFuJ;&(O}>=b4FV=sVkB*wgudAKhUEXEgDw{;uMJI*ym zZ!`z(P%K~p_lqc1fL+4OlBxT9{jK%HYovK;^0KADOPJc&tA zHv1kH9X|{VUtc$+3rYXGrpaXm-%w)%_p^^1v&1y}p0#JiPa;N<%^I{4;_8&5?hJKVVUgA7k zR>gBzTyzzV0H)z^|KmX(w)7~3$lBS{Y0ZJT5t=Ggy)q$R4m;vr^voAEQN<=DL-#c) zh4d=sB6$3tt5B_fA#o|X~;y>`UpIb1VQ6@TvF znA}Ulg#h^v)BM0s8^6UL*O$(w3n}JkI;3Hz)~&7BkTxAm%coH~o%W)Vp1 zeZpPD2RcgUOLa-lFA>9WTpZx;K>03=l%ElDR z*^}MXV4#%iA~*;iuk`wSDq{A<&2@up71;kC04qkkD6d{9M$1!&R2k1)QO_E)3GYRIGb!VVKO#IA6A^@|hZoaKw~=FIAX+QK=<)l_Q}1 z6gy2wA97jp-ideuk=V^6u9IO7jTmEriMSi@Xh)7*fIv?!9?Kk|ji)oRCQC~+InyjB za_JO`i!TueF_GamIXfW3l^#DrI{dG(=W}|^F3R5Lpa-J2WTr*U=oA_QP?X(P@sA)F zi^NyvEOP85uZYy4&X#iN)GktvXI_VKmV)SC1RuLI&bZLa&L#sy(_=>2jM_+!frQ8w zzw4p9Tmp*NHV`={m~lAi~ZKi{DDjT)``Ocav>F(LxT;_F3It)&t*?Ro!eNUd^RP?vGcz?XV$bKshMP3 zodK^EfX-HbQq&q!d}<)unu+UOY%PpPSEEH3@fQq^uv{X6u_A?$t{7of;MXyPn2@&V zw8zK}>uez@vVoT^a~DU6qp9}Y$#-7PmA%1Hn+Oh#rW!2=(~*S=UuhAmN~jo?thDSg z;d;t;d}^Fq_M0 zh!kX#iX}gXN~1R0|FUcx32`T+>~PQ>!ed>U zijvb^wblBK+Ct6lYyu_6;bNuaB?6BsCF3NBcc{AE{a*oKpm%R$Q#~|M+2@VAmOV4O za+ZgTplSeY2tW->2OzQRI`MwuyV>+}-pn!hZ*1)q9N~{Fg*H@T%m)tNeHK zpf=x>+H6}Plk+TTAhq4-sPFhCCUvzE;;2>3%E$tv6y{s%DbTA$Jn%cHJCLo|_NBpA zPW$|i%Ms#?dNxtde;5J&DA`LK8QWj~ugaUEF2}RZ)Rp71h++7lvNDu4o^qN$R8}0O zNy_>w81+Ia_o%&8<6uce2piwmWl(WY1j1QJ^un}lDxiXs8Te@(hm|LW0ZKV4_{bQ` zAmY}o4Wle^JnsUXNyNEsJ3*B}qG-X&BPsw}=1wDMNaO?^VhovvYnnpHssfNm>KB^$ z$@2C;h94Qz?UV7c?K1b2{T4VgWG=9@ZaaY^CHpvYQNd5#E_0$an2BVbmdtT$K2`F* zL3o`dCo%^II8q#?#VGGyA+95mu$1jHGkAMA0-GlIWGDz-LJc3N?JZ8kO}fT-eF$bPH#@c3m#g{R5( zPj+=oiZZng*M7;mx(82^G6*0HnxE{@uC#B+aU4e@hfvIV5r2La@h2N};>81PVNw+z z>^t73j0h-F6DzowiU)rP56`mg#K6D1o_rif~Z4Sm$Uxg2PCgeH#&-oj{Qr z^~O(MgXju4|1W)-C>qUG|AOM*W^Ua3>Gl^27q)G59-u?6_mPU%J@d8=L&uQoCQyo0ICvB(RomNd$`;%jI#ARvQ}2zcdW-k zu3o^wfk=jE5glweB+%{vo7NX(&%Ej?%@(r^-YNkbaLehX+gi12*)+xA0f;hfV~()X zDNg`%r6cdwYy#-Wes%>WC4w-C+lU~I+*XsBw{lno4+3bA2KRU(Z8c!J$M>{!d*j$G zO9p_TU>}1b5l`rfn{1&04HwN~5e{cON(K)AA;fA=$hw}FHGSD!72Ipod6`ZYKGzA0 z*+LG`IoL}!+=#Rgr*xvp3Ro){b%nH#xJt_Ub4_Z0oi_V2&|)E0gLAfUAR@HeF851~ z+LS>O7|R~ZX+TmC*&&0azZnmR)LdH5;a7^aHH6=x6vl8-ej`NDH zYc`c!RZ4eX*SRekT+wu~5QTKNln+)$JRa`Qn1Zd5ZTm*LeS}^I^bDnnfCH2{N=_X{ ztvM7TIfjIw`s_s=NA(5q2Kofz3<_tKeyI2YfYjyS%L}64hFchqz}sGYHD~egi6Y) zLn;qLE|N?f&S4IZf+_qA$0QEftW8|p&#ZOS)%lh@<`}T8UQ}|1L#H`{7xKI)L>@?Q+I-gF#%^0v=dbO)~bBC@SIej=C=`Hpp#sT!@-Gol;5mSiq@n<3a zoU`5ewKo3I9Di<4YrY7G7$VDr@N9n}N!j%pvx^GWrmJrKf@(wktC%_#ho$9g7Qb{z)c-?B#1(P06)2qI9(F{(QnKALkz0(eBQ7=S}6XYB)Eg zaUy~%A}Ts5Q~>QRI54Fd|C6!zfS04J_y6Z<({^Weww~S7&z_!~oO99}p^m2uZfCZ&^EqGD^mGa-IbpOB!=WK%VTY!HA^st0FwnZ z;S97nRVSc zUDlk^^;^C-x3=3gkFw<(&TP&|(1PPPKY7nzRO`XaVcIRM?%i^|bQUn&@RWZf_KGhe z|FY2mzitOk#CaM?J6PAnEd88-wv^QaIQ_Xl#Hx^cDGp#2s2k*Z3R~#0N?5LSF6n@> zd<})pAd#%KFKPQCV!6=^K8h!=DtZ`AdKo_~swRyk&w!L>9u)+wqp?c&dKj5#V<9!Y zL~*D?I8wLEE z5_#Q0wfYBB$J3ZQRL}q)gns)kK61 z>h8{*>bk*E>S*vnQQ&&Vs*m^hrhhy$^V28Ht9)E>1o&}S>Mv5;QhV)J0_z%ROc?k9 zF@4I{{8)VYIZ=C79QS=u`;j>AaZ&lMIPO8wI?2|b&ia+N#BskDl~wLhO`YRyMZ*;c z{_()-d}+rMY3J4V=G!)ZAJd$-H)kdWqVgaUQDZ!i#lYaa@7vQtB zexH9LBX{AcuSStP(mIs>Zq>q>j(ewcZX|xngR`6y5c?3m2dbgcGTcNBxGRFH_!jH9 zurXW+{|u50l9>_CkEXTeV#hgGT1a=SZ|1eWR{$FcamNhV8~6;@z23SO4|m-ER?aU) zA?uRTo^4azs*CF1)qEKcsSGP6ZpES*Y}O<+rZ`P)WHs)DRWJRx_;nFoBcdW>0mZfywatJOXs(K+AAt0+eg#?fpp;9}s{$se$A77~BJTW3O>@RD zE)BI=PI1c1TG$ZP%FqG3tP+~Es#?^dTA@Jfu#{a^05dWW*i`(1 z>w>Vx_YCPh;y>}THyi6Y6~3S%Y6R9Ya1mk@yrvp$b{>J)eL$PvAn67nK}FgvUO0@? ze4mM4#|7*CHic7RMTTu0{<@4EVbIk<-ersLfA{ju-gdSP{_+MalI@s3Fd->cSi8mJ z_D{AqpGGk(dUH?51$6iruFOJLzYf|}nP-tuD{Ryq6hMc>PbuD^!#jXKr_cL-9ezhg zze~p^`zW&0vZ-{na;-2&%X4t^n%{i3FlWb<*1S^Z-`(S%E*?`kS&d+qQ*q6jM;btyr>Np3-N|Z3bhQAE2R$!k2ai?@ z6eNN(%qOE3s-6MfYOnaa`MX1C#&BAtajO;Z^HPteSJ$vQ?Po3`t#mq)ep6j_XImc6HdqIo+z0PxMnRZC|Rx7<= zH@*ANfu+Oc5v@`GcBS&J4Sw$nBC(V08gENDu1^>8F)6yg6zVopB2-jY~ z7t_WgaNCOnqSJe@Ek39^tvZzN$;`1HUK)5%!Bd-=gKuG2fg7myvql|0)&(v;Vo%TB zeKAv#MSj_~k20~HtD9Z*WjDxY?sdJJT(_8+qk3dHGiPMBo-=d1!yETXeF=G~D-N>v z`vt)RqElgmvvyc-t8c=ka5_g~toFofNLp}-N1_ZpE$$NOY-RencltT^DY2ImzM`G; zR5wF=lpyQX4QQq&a#cXx%K!>tzvWQFJ(G=TBWnz z^fQ-!9-e-FYE$bpC%hO-S|6jjsP~s;I2lKOwmLKxlUk|Qfa@403SXU+C4iNT`P&Q; zix?~wc2m2z1NxVP$q>;k{(WSjQPb@69Er~dR*;+rhPDPtQx?ZdH$f)e8rhjOyT!Z9 z-J;#wTs@}7b94^Gqc2yg9jl2x#eBAFSj_;?A5t_Xo%?>0EdcI7yqNnSf~T5iHJeLJ z(rs1xw4V>d!Dt1`eAyQbCJ!NihLH7<7ypln;CYX~Z1V(cbp$|kEp~_>l=r#~J%~sE zb@s~YSw%X;I=Gz7Zthg;yBP*1u#>q@5^&$ZczCgW{KvpiZ_E&gg>DRU2^^2JP-|kP zS%V&Zv3$o*>8L-up2CLVvmv0nS#zkIOzTkAA=g*&+k>fYq9`NKug6?|^;r7b05h^n z`<0*;>g-EW{TI!tUzFMZlyywlKGyDx@W!J9y3{0dxlxQw>F?t zaG(SAIw?OZKCOSP)Kp#a*kqK}M+*~AG90~WJDX2SJPlj|s`GnwieY^m#`A5Q@Tacx zk~^3C=E-LII{gk53>C$b7_bW&|17E2agVh#rMr#?cnCueQkb%x=}1*DxjrsYCISAW zaU35!%0dx(PDOFgfTvQ|F=XsL)T^hQ7ty&)TVS0k*8g{&+pr%F0`@kcPqokceyL;Y z^ctmuwh)AVp8NY1nXaib?MX~Mkm!$5F=iJhyh%AXdUSs(0-4CTsO|t#Jindt3*>6h zaEwC%ZXONWBm*{pzy8&Yck>A;R@jEy+d`W3$#S7#MF-7Q1gmfhuOyx0%}m-k?x!Z{ z;ZC?27#(g&-<=Ft?*X2%dlA~MOR2YKywNOvt`oyCwXKD<;9OH#*!pbdCE!7H1sGF7 zx_KminpTyo%=MR3JEUxC!H#MPSIGF$rzwsyM5$qglO*rzdFd};`Vp26Lty{ezJHEQ zap*Jsq{J(}aS|!}FZKN^e0&oc&|l520aSIlAAZTtQ-8uBvOt#EZimOKpKb@(27^aY zQ%Hrgndb6Frd^P3cp}pdjV?$xyhQM^pIe*Dlh#b7OgUh{=fuGE1_URuC$<%Kiqxqo zf$oIz3r(r6dW`Js#yXb+=llKzzH4!iBI36y?g>GD9SonRaUbN^)$IBz1#ccyHqUUKz=GJv zJ|!L}xHN@EWhqa|H$qKRNO_xRacGUOw_c+hvVtMW zuZ6!?g>RwsH*USit>+$e;|JXELDzg0IQEuXr{G)j)}c2}Zyoy@tFyz#@Ve*2n6xBWM#@~m;5CW8qmUaMDBi7LCZ+#S-B* zJ+ct;j^^ur57HjAu=Lxiwxxpzo4$=xO4T9zVkm0cWOA=kuP8Oi+^^KRTAiZ}zkZ`a zzMrQP2AUqV(j4V)#J1aNJO5v|^S+|gEh=E2mFiIcDqSVWQ&Q8-Ra$*Zsr%^Ojbqcm z>2bH-ep}LAx=PFFCRT3z66SCF{v4!#fW9ZpBt2PuOS-3+AELVuIkr1!GL*X}gS*%*-RNgSoFHHxje9*C2->QdyAx+Qp< zJ5*~98PX!-eD@sQ2%mz846BRi+<+K8LU+VaRF-O+VDk0Pr24VcKe3-#y;x@83AQxY z#4S{IDucWA?S4UllcnNjRW4{K0&fW7S0bk$u#UgHVl#l)@);VVPPbPGP=yVfy#Hy= zXuJ<9MV{*M0p6{Pto1zKvE_E}g=jm2-5V}Zv+;&$YH0%9w|N$(y;yKTA?8ZFJSZ}B z8=8R9yF^pSL9%r_vAr1D1chhNCHa=KBjId08FR6OCe2a3Oi&e7taqgWc~SQas8XEz z6l^MFX>7o$;63~Wh0DMTgBZrLYz=h$h|E09?qEfuieHKb8jW$Yz%R+2-pUmSmQ^)T zS7%?W8^})M)!(wNo(fY5oLuE<>0IJ7O!y_gLU{tH3_{bR>R3OtjcqA(uhUfKZ5Zs8 zoYvdIX_^SR*O~}9n%cz&!fDoF5Myp-kj9+o05 zBl{dc2RAF(`i;Yla=6N|olfg-g)@W0 zE#YvB^}ixTB-!Ms1zMA1I65=53Zy2Ph2|XL9WEad`Wc1<@U~W-W=QC+s9`e+Hwy0v#w{M$ zRz}?JM}&Hk8_3Fnubvg^XJ}pvo)zXfu|2t_1B`o-LB-ERK}&}r&F&gOaiR&^>1`#i zG#N~`+$3-s>#2pHbt)3Aqz(%{4MgY!b$m!FC=w20@1@imw(`1*DnOi-9u|ZF--;)x zljTY5p4qp{v}S6ebZANK+7KW22Mzo9Ql(Fk-zL;!6^*yhjX#N%Xyqn1Z`kq#j+7WYqmC{Irn6hy7y4;YqTuz%BZA?@0S@` zXds+6qgMaT;(7}#02+L&JtB%&mV&5N6sw+mp`BlbX4fq(k^PR{khIU1m5wNXVB;SC z>WRH=z#P?~E+uh;{{8uP*-s(E1D+MNJL)dC}02cR@oQK@&^$V{nJ~sUN0C9mZ3r z@-)+Qm^a0Lh&ODNp_dx7&5haPUb^s1^@dpOw13mfRx;1{xNgUIcUzS|&7X?vUKV#w z=97D{bGVa_!#FDX)k+IVMQi=4kH^G(%cZh$eiBazKrO8_BBP{6?P()-z-EXRRp%25 zF5+V}HY7ZG+>B*&lNXwaL`_~|7AH!zy19ZMB!Mq(^n4v(2Lf#}-VS_{DC8rkS;(^7 zWShV!cSfy*t(Id?D^8warf0m#+nD(_xHEZ0Cc^o}YO@WdF-;HuOWeMnj)S1y!-9+!npDBv01E zqC+jQ!hBo#xWp*ALsB499f*aU7%wAV3(}vEJY&1^XI$ZU;0G;7PN&Hq!JOQi@cX z6uLe~b5hqX?a(9%A*?OpGtGgW#Ft-KclIGnT}*a?bwk?k-ApGkoy4@1Y1!D2)BcR@ z5r7L$*WDV`3SACu4$Ylm7fDj4Kmq=V!{kUfnb0zgYV*|#k z;e2cAP!9zJp+|)d(8D(0PIVIJ#{`0Qhj>L}@<6y!bD_=T*#kKhApYSbIu8$d;j8u| zGr27!gKAcu?}`7Qs2!!URGyROT9Ml*pd`lXy~?_ru$*DmX(dp?4%`wl9(A!3V6C2=SSb_>vGu&LxABWeGH^ESzY_U_ts5|9pO;kK)J zfQ(a}dQPKM2Y&L(X7#q(q{L?R6`js*7U^s-{rqub*?Em++oj8k8Icv)8eTlPd>&iPF6pr~&W(}JOUg}Ys_$lIqPbv;THW_UYD1{yDR(hn&L3#6rOOQ1^*S!2jX9I#w*CdZDWx<_3a;3qr>Kjewzbkotr{wSjrx5}`NqI0}2s2EeF8jQ%aan5I~ z9>+7o&N^#LY|5h2uio-wFMd33e^?5QX-@k;3}jnWW9joS9f)-uYfdMqDTI5d9L0O2 z3t*pfQvrSPht&-@VS!6oO&jEA47*6=O!jO$oYLs2jJ!bf6>&Cf5V_Mu<typMNr+DHNruEQitT2NDE^_>;@){6`j#<=f>#pK7ukJFsYv+nt8O~yr zwk=o)i-Yjq&snLwpO>K;5LbP?AugI+dY|7`f8)pQ`RtdyxL4g)_;@(t~z6 zP##n!W@j@c?Y!p$bGvNhL(AlQ+f6jr+3m^}`+b4N$oY&zx`nR0Jw(DH8}C_Kb5-%Ip*5ti5usP2lSf-C7u0j1rj=UL9^d_6* z-JO0Ol73E0KYKS}n$;&ze@mc$H!J4~u>e?JsEgwuAbrtKV*602rr`UQgaoCTp6jW= zC`G~F>6yM-Q>VH{H{`)yx(Y&UH~DCqINirkN!XhA;Ju^QR}#M`cQ;%;9j$F1TAONj`L<3kW8w&t$io9w%F)Jtg4RH?Qg#$w$53A? zMpP!Z3-_BMxm&n*iR58nzD+F*qkE%j?3WibM#8(5APv?b)n50i{RsXn(EBLXjZ*Pv zv3QBMd0Y?Ti^vlR%3`Y_qIo4t;%GF-gyL+CiGi3QcL5K2t+-yCT6X3w<1X^=-9>iV z6z7LFS(UCvGhIqlLZ2h^>!o|KOwO0?1u{8JW>3d^pV%UWwnu%rDTOBECtphHHH(+A ze;z+Ul1^FbbXm{sU1B}tDD(FCK(nnzQ?e(_p|{Z@KUSRbNtOIqxj#|KQ_6i>CEroz z`=}X#E@qnU2>b`V_F<3VGgyENA@xZ74AHj-M{1nbp59=B*(m5U@~I{}3&BwTDNynA zx_btBnr(HjC)<3Y`T9=HODm`Ck)1Zi6CHP+3p%v=8`@UekbKh5zUH^R?R(Gq*(ZJT zJ>UDGFTd;Ozwg^e8}V4VtS@`q!WX^d2G70GD_`rm8@=RmFMEXto;;I0;royJeyp!P^f6659WZb`J zN`K9`Z)cJ}WXvBkTh3uS;;n+B$MaS-uesQ4{MpV$IomIawj=&H%W)phCQoJEr?bT; zvhI`F5VRKgMCjzJGH`@_dy}^N$1t7 zJrq<3_HFq}g+pCmNxo8XZ>c0VRopLCk}p)u#!BN*%Nx(|M-~i=$7cZ^1pBtIxT-It zdma5R7iz4_Fieif`A&UlG!lExK%p}In*7K&^G)4>0i1V=La;OvyBFl1B5@{JUB2;W zfeeK9_`?anpT%)npcCI5`4MODE!%CG{~x#4<1bhpeB=X@RmEpA+4(rre$Bc4ZnrIc zU_QIK-tP0kW7*%9V9I9u+x1hKZ0_E#H6ND>N8i#78FTR*Dc4!6&>m~7GT_MGOt#D5X33~7Bw)IfNRQjz!l(-qi zO4R=`Ios`>oh~2udeum6a?)yA^nJpe>B{Y3@8BD|E_Y{hvX!54^KVe&_JcI8xeDnOv=v$pIt<@jN| z{!&iIPcz-_-KXT($MeT#M5Z?*D!3<^POK1RwSR5XS^klVs1%uYt_1w@GNMgYMfn!= z4J8Us6B@<$@)Q_f?Nh%L-{&9>T<2l7!4}b?E-z!W_4zTe=b|?okHo)QE6pZco^I_i(1TPsdY!zH5Qj-o z65r|0bXn&WA>kBTT&N6np&b4U_1|{;M>)rlq&Q{dbOA&nb$wo9U4ctwP61mGM9?XM zfg;&H;T4MzmF|TiioB#Y(HPP1(zv^Mv5rJXeo0WSbAM3=ip_}b6aSeZ{!Unccfj7I zWftX5FOtrqZc%pt9uMBlnSbOIpTtt&(V^sQZbQ=jZjRE%pG!!_Na^0fOA>DVoF-I~ zv|49p-d~k6U`51EtogTAz9RoA#9Fx|{fz&KdZ5>7=L)Y|69cYzev1U()e_S0S_J?{ z;>yGu2TL=uMZXmq1`$lw1HLQ`!xZChCFW$jJ#aPAEw-ZVd# zZ@{mmFR}QyF_i5i^+iG*&X)u9o@zgRklF{&(K-Q$X%V!PUv%{@=;HgUA?JF3M>$2d z@8<2<&R`5$Z$+K#vNfyf>xi5cq}75xxbjScYFx58Q|{TFfzDb(nO zLZg)~6M7f9L~L)9_>N!zJrFH=f4LviY;m1LPhT!S2GV(n`fuUS33}v8LU4O~9Av7# zwctR8#A{i*Jjo@daaGV{ao|xD5St-Q3SnAtxPp_F`S#~371r&04bwzO2p|F zeJI{7EUT*9z=g5malsP%b9Hg&n8)Ce+)CL#e~>6{n?LN6MpA@3!rUlpHz4>X<5)UOTBdZ&5GZE~&QutpN$tbUHyIStAr^un8+LxTh@k?f(HtpWZiw`nm}D z+$4H83z`BD+y4mlHv$FT-O}#0x0*%8Idzc$!jmL9E{7~i-(FBpaT|BO*Pd)4PSg zKQw`l3Ph(5@17;~kO@J16W55!i{wZ)dQh;*;r^4ty*%B>Kn7Y1TK$^OG*9-)Xo0_N zJC874pyp;}pYKzlzFh|+{^Ut|=OMK(m*zJvE#qGzgRctzB>!z;M%~Z&r`bfg@lAn! zAE|$CH*Ma&j}IA-nTRQU0!gQ3;*NLS=RP=VWq~Glm6eOdWRI;$^RhkUAS_Ku)EeBzQ&jvqnr`Q+E%Xm+xZLp9sT7l#9^LpJMzQ#+hTO(un#XTnyC26 z4=?VC#=O1Vy}UR(ElP^3D4#25zn8x^;C=)) zV?U3!Ht+qFtNnfb{ai){&u!cN!&jmTE23SCyKyxYrM+J4=u*&v6D+K z=foBN%XP0n**MYtw6_+6(N+u}HSb>#ulfo82FXhV_1LVe9thrFcbV`%Y1eHO?p*NF z6~8SG)BW@BZ^O%XwB6=rA_)E>_AkG`ZlgdbvF=vkF7>wu51%6hyq`@nJvor&z7OBT z2#>A%!;8n`wg@h`>d1#z^%>nZ^x?%rCTH8Pef-0#TFsSW#vAU+m$l!MzOpR|H@Eyb z;UjbH+n)Y*r&yThvx0N(qxiP3e^OzC$!!F7q9kEdN!kkH$1=S#L|o^pYd}gxUv~YC zCXY;9HSnRg{zt-GYkYs@>svMc4ERqM*sj8R5M9GqUHX<4fLo4k^N}ZSIrb0SmG>F{ zAltfizda$}(?xtO{+L~Gv-E!}kg)B3WAT{(yimUtb%gMth(SemWmLG$*x~+Qf1mUW z{+K^X4!0cHAk?>wdeUD0Pul1C@x5WTZIKy+GtS_*8gd|Fk`hFld#;&w;ej zj==U(y{4BrIw~RZi_wXJCOzT$L>Ge~jI6Z`e`gYgr(PB7HHUJR1UF4(|Q!U7rjF&aF@3&M}wtPWWbFzb>We%q)2*2g~qOf~@-$F#z zpkE@ER@%<4@K$DShjX6)1ayQSFNhe(**=r`K0}(fFS<{bT)qsfsuNrlIsJjfX1^(~ zbnywjDIZX8NVugg2%THAv+({aISYcB3~~M#`tPnvxz&uhe1k$Z3G_~oI`~03G-G}p z$8;2D3Gl)z~2Qs;qHk>S0*?u8t_+D0!lxCxJyFk=FPt4TE zdoM}=$^jbZR#v;38(ql~g%M za`+VOS%Ad1$gei(AD1w)_w)BVA^W^x5GQP8b39*0!M_L7o#{*H3jic};oLZ|&NAv; zSPhucE4o*Y<*+?XT6ThFgdnv@Dy1V~OvR*kUMD@nDs}9GeFcSKU*MK_$hnwm2UCh7 z?!*&~J3T585DMw&p@zlK8OOBT3xiHzLlEbvZT7C2w#gHly?=^y_CjO!qDp_gWYXD& z#=`B=AFs)D_Do}ox#^GF8q3aV%pPdWo^8x7b~kz3JNn#FAfyc?ce&~(&iZ)^CEY+8 zBqsFVxgO%jhpM__Iv@BIo{;cI>v@ zOe6cV0)7+nm@J6Vxy#@cec1`#*k<5(9WRyJsQ9UHx z|90@I0pbLV9rlK;R@;5y*CtTt{q;jDzQT%8yp*gw<6o|ry~4#{4n^%*$&DC!M`@({Gk-uKyn* zT&d1OJMnv{^L>p9uU2grZoO6d2=e9z<&9?CXu3zL<7BDNQ@(wS>iq`|iH1FzS?O{# z9{6pv#-P+^{$DqQP7|P1aYt{7s|WrhKX|7pImdfP{hV#%H~%jiT`EkjD5tzDKYWdZ zpp3n`EmwJ+Fxz?`^N#WMbIIxQGqAVm+^buTPliLI7ys);@StbnoqiSx@BR$msb@)k z-fIauP-#7KHxzxB*qc{dtusFpD43WSE4*(CGi)_yMyahfuzmJ6To3Gw*r$ve-4~>V zbZ=HP%m)vZ_JAJbg}>Qf`+r5%S9WE{OEe)UuWDO;R+?(1iQunHd*pHY-VWNulnFo zlGWi#|2#;SfL^s0sxA3m3vBOu@c*H~4uvsW_T9PlmVQb7Z%xZ>=#m@%Kn0J(9%3bu zpAQOQSUFF|Uy z#n>-5>ES<;hl<-f@8{}?T>8^|PL{Lr5A$`#*>050;I)GP`+~2rfU+bbBm&)=ToC8)L zoT>5Vd?aVwgWu8ISCHQ-c=r|bUlaEIQzCwyY<1K>C4Ij59#=3!uC??*_7d{VOQ_vf z5N~b0@w-W1&%AHzuSxH0`O_%g7`HwKUrspvG-;lb|1!!ndQlY&{nju4VpH&cMgQ?$ zN)uR$?ntlSm+XNxBde}{4S|{!!E8(H?Tyn)uS)L~BIHQ%S7qh}S$$EOJsRDZ^s$n^ zS=v$T)8+-4x!EYuN9k*jN^-(YrO9 z;_$7$uY|3=v3ywmP`>wLh-=|TnQ4en`h4`8`OF_Sq#%`<`cZ=Hf_bQVAT%4tsEJAB z!B_DTHhyP0mp%5$@BN;X{@(Vz-@^o@M<9f*%G+GRQfN+ZNPRebLh`|o?m9{)0~}Sk z`$ge=FMpW7UWFUH{LZBpg!qQaKP@X8-16O`vPsIr`$JxGP0L+S@a<47@S1pUy2>f*kxT@bWyR)rBbienz z<3TadOQ_cuaqo6R;h-Gy2KA)2VKMUFCd2(h_e;OUs||{2?=2j=)C_rf&ufkTXl7+* z-XP|*APEwY%=YH^vomw5vlq?D%>D!Z^>}F9D(_GEc&Bm>9ISS(y*aJ2$aJy<)4HpajXQ2jAz**5@NubH?Y$51k!`)f&h`rvA zPbVATZIPw~h>z!*sR8;5<@~1HjiwaJtgh~7_Eq~eA|im!W$9S*I1!tfyxdQ9){le9 z-wy$#GN7X4M%QXky7n75m)rCcoY-PTw&Zn;Kn3Ib@u zjfQy4GJxfjGpOhuKQ!0xSupEe?V$g`-x0 zpkSXC-cP7W3plXnu;+LmkFkY1NbX)#z{UD;ORB{dLF&Tuje!!cK1ZygjL#jyc^s~I zLwC*Mht0?-@bVK=$~Pa?3UHX+jkf8KN07+-1QLoBwrQTa%KS5 z?8BTLs=TKL9$)2lAejlG$)wbiYn5W7EMHA&=`0DfNvX4?l!dFmi@aRhIj(PVp)HZe z%PAmxCk!hr@6UZ)=vPV476U-v4s(FCJ2={$-_a>8xkfH4`lB^~=O@aPS+>wlTzEuX z6Jqxmn`{aEEus_dXZzKEiiuIjhi>9^cM$IT2&xHj6IOy9{V=$$(%H{z^F{J9EjqWw zZR>!e#9kfPu_4=s<^y3kM$c9(-cfh+3}BJ7FmZ7nk1AgHu9%qO`1eTSdxKDC0hp8MFjU_IL~u>4>rvZi@!%mo4IGDPk7l69O?o z63;kB{V{Yy$mt-*Jkq&0?zB-!djJCAq}uT?J27`zQcFv+j=#hRmloo*BC*}^&(hAL zag2IqQ|WBJbC|U`ZOp?K8;wnW;gHg$#d5j3(e-a~)tB5IE=TU*D?m0XatupZHKxYv z7W71gLeh~@4dA|*h-ZZv0%~u-9Bl!;ZzBtTL&7ZbX9rC7~t;s z30Tsr$-5WxcmNy4?ZLGIZlvC8#eq;BhR$D*wLz$t^7_qDv+cz5q$g5lU0CN)hWn4^ zz(6I#?bTAd9(<%MZ8GY1Lp34vY2G_og00G0#8m%4Tp$tcvejypUB@ z)=M)h#X1N+OLV6!pO7iMYSb$PjW{hMRQRe1^QKTZHaI}-AO2aZzvvx5DQj*kEF&nd z?`nSrWFWGpi&U(DzMfEHq^a%lg2}yT_>5jO;kSzT((WvZyNV)f&{12~5Oj*n-Nn+j zQEx>Z*yw4`2e>ywhb%qFk045Evn#6lOizAUiqq+EQ*bFYoRVvJ*|#`gh6utA;yzLS z&ay^weM0SAwXxyTi>TE{P+rma-X}H`hEpDF+@>_)EA&pUDF+!R*w**qY3WvEf zz;Bz;GnFHD*C|n$UEn;0Y9qg zXa55Lu(DSfTT%x{TE0L;7aRf|!yO(ntIVV}tV~0iWsYI8W6D@76lQ}t0+nF6j5|aX z8n@SOVUZ+$YXqnjyr&7vVGl!Vt)rI9?$I2Y{@6s6cIdP4Jqkfu>|}445vMss{X;w8 zD6E=uG?V36uQLTsmK?$BiTdhU$@J_DAIDv8a$R~!hJG4_*^YpV2@SBRCsOE0tSz() z5*&nSEfuDGZ6CQm|qGP})am=#xMNo7O0YzNMle9N0c(u-L&mC@*?tmAycm;Xk` zpCY&=!2R2UzP;5la#?i#2K!}*$wK`L2lhGHo3wMMv6wP445imDdn)x6>FBr*$y{As zRC0pnkjh%PQifC9ezB*w@d83AmvW7ff(mibBG9Z2qOk(O_lkO&latd(YL66~9N!iO$gxP$bJ*+pz9@Z9 zn8)muKP8~Rjb0Fyr$x_ov`*@V|2_IXLO)%^*<8tFsr&}lvWqxyRYMl3K( z17h{*?HHNoAw!Cour|#%7TbWm=q5#F2fZuwRvCa5v+zt8Q4av1;m4kfuf7U<%;$x> zoIw-%7k3s@iK%X4R#aTFQAO6K_0}%dkIVI1T&!uuzz%hskX zXr+;{iLZ@kvy)m_nvmPjW=rLsxjj%x5x}8YM(ydW{1oscoOSx&y=6mjV6&ixc?Qr< zP*9F=4V}Mvluvs{myVK0sId1~kb}8X$z2g9Ti!LdOF0u9ArD@5gu=OR;NLb&%}UBW z62QrD0cBbI2z+1r%QbY2L*=J($64mP$`0->l&V`Dt&(P$MP_nIq+C%x0T!WP*`6wR zuLG|#i}33P@nX^k_iJ>w!oguu0KYjL-!Z{k-an5^hR7bsg4?q;E%!v%$>dbYbk$)5`E zei_p5?-9^Kc#zgv@v;nQga2fix&vXT=ml>eZO9*Y8KxpZZm0q^LB65A)sq-XOPHp0 zrkr_Qxv{uRC=YCzBy~ZvE%moN=uy07{!+B+RcKJHOr&$Md>T4$9qPkJ1i?8Iwh^Qo zXI^5e2N`UxN|+PA%BZ6WY%*+G%v&9NvF-0!?vT;uLJJ_hK{-S+5D@USG3^Lw$?`a7 zn!i_bxrXnfsHnE%7x~^nKK3Y=Sat692T@l84As!)*pd&7HzJryU>+MA0eh0Ary-e_ zPe17LNJPm7-s@Ta&sp`CZ1{()dOf@2YgvD}T85dpvQ*ReWz{`dPXK1W#gq8?zLiz? zWyAE-`uWcF@KxNGHR%HN6*GCgSG_l@Hf8%ZXN#M%YIC;Z=UM%W?C5P-Ia!b3n}B09 zJj;W};7U)Da1rY-1MxcxA1_yDb-^9Qn59;;L`6Ift1IId!I^FNro?1bg?^$BP^a=c zJnfHq1G<{(oVVb*LFc@vLBtuQKiaOPTKttkM$Yth4lj z?=p^rYsG?7+nx9@XJrjOEiy~z(SexN^a?IGxm=)-=X0%2{FHFcqz|Za%+>gCJx;fz zl~yIzg$#9x2F}T&D z*BcSVt#`b=5uv=SF)MBICY<<{e)8Dn%56{TMDAoiE03RcLgh3NPGuPr{XIiWI}<-I zeSizLEE<{L%j65v@5OK%>@Idk-D?Utjqi$OUzGm0QAH4zvb#Mbw5&-3B{d(Q5T7VH z`V7#7qz#`g-FHaioN=>MQ_N`VH)Y!`5>2}-lg*ayFOXw5%WYlETDx_8CtR8=8@ZjF zIiR#_Ps)qPwemAPc<%CJOZd#nt4bmocE^*tBWEtJ42ZsedWe4eu?T3OjT3 zs+2ES=CxABFAV$u9XkBJl#fX7Q8`m}|62Ml%I;kE4C?G*fpz{=WPia(T**{jRcMnV zRsokoz{8Wz3w4!%fuYtNch|bdiP%l3h1)|7$D7jwvYq)XQhty5SCA+UQn1+_-a(y7yF)+K64%Mh$0r&C#u*jb>n4MXqsnAG%q6DJ+f25f z2(l7d@h_Le4EbHv09BuB^baxrT=&A1cj>z_SQ%3DcR%@GQtl)FAmqa0<)X5>JYL<` zQs}P0c2IYU;>?oY!Wrl4(-m}u2g!{+j&lMja+1u6ir$XlV;UsV?mU!|ZA~3mn)Lgb z=6FlPg#i3!2D$7~s0Zd`md1;50ndq&WFAJ%jGSMX$jidad{SBn`Qwb@lFCr|53;p! zlqOPvHOpp^E;x0D6H|`#c{J<-WvC3CGbx79H^011BzvDStDZI|U|#Y^)5Xgxa*iB&!R-2?Ibq7aGZZ+@ zVB9@d;ORiD@SKQF#{Hd%^(T-q`=H z@E?Z~84Hhh2z=5LBKssXRbhsh-yi$H`kGrXDUxAb!d z>U*SW69Jk*`3)PT`2}P@@+HH^J$4z{f$8Hs$=bl7S?IURPlju02G4 z(hE+=?wa|nh`A#a(>kcBY@%~N$x$anINYu!7O|J)OMrD6r&>Quc-a}a1*%@|ZJ9WotVqoX~4RUDJApPfS zE~%jL>VsB^)!nORIkdKO5zwyw)Td~PyvitAqytdv22LeA(4Hk|65nwS)l(FU>iPzH zIN6=QZ_tx9vO9}uj_02!AhF1aZf zwL^ScvhD!^2%T_77$E}KvX?D~ZG5UWjK33i1xz{>`MD+?+{|8Tq^b@9BHGCopLX7A+ll( zp&3iRPZKy!pZv9;@17ym0yI(hrU@ba!add&{477_?sk0azj6MbHB=UzU+_u%I`d4 zqZ;TE=FRJTzw+myC?8@U5G;%FFzsnox~zOm`4x$=#0Z1ulw?v5;`$6#^-%KPR1?>u$&) zB=&F_C0$|4SQ?{YM2)S6VJOX!wwOyblZMnigwct1;k^hu~Bw6-Z|~ zq#jd>xzcKK8Aw4bF|N%BW9oHl=oB@;sL*_d;g(1fQfaom>g{dbGR#Ld$VAA-zEscf z{!Dkyg1a1!Q93+cD&L1A7cZ4;Bao2e?GHPe7x--R0{5ar*jg6Wr1^dND*Q+sOPUva zaGR+g9pc(5!_HlYfv=O2yP39T#EbpY>sSCqEfgus8cjzYnWaZK!+*oFU;VdugL~I^ zh0gP+UIZ5iA0|{3%;;&lqm%~`o7F22(8`sCI#!XHVfHF%QgXa0d-DyU@9D|Ao83yV zGG+kRc3KtL?cdexf>9uYoz1e5Ql_ZMd;+^T5SEP@%;GD9s&p7OVv{3lg8Tr|-iFOk z7x8AoV#M8pJhoCtmh)(Dd%l4OyU=E2VZNga#$iawoa>?_?n- zxmf&wJZ+-4+pZ^6@h<5&p3RO?)|v-{jANu1c}vg-gBZ0b;eDlYK+Y1Wf?dvTDFnVA ziV8b~&9}kE8uWlfJ9rHg^{cFh_{jz%;5QnM;zyYA#$Mq$KLK^0c>bJZwpwC3iCmyP zL-1&;^ji4NKVXaCN{Ko|7?#EygU5FofpL zcN5WrBR|=T{DO23kWC7-F(h~xQ3R%}KM8xuO)QZcTNF7)iO3~u4cmpi>3R|(C-X=w zF8YZkpY*v>;`TLaPa=AI$zx#801;i4&$%=wBnaXuOM-AKGoJGIl(W|F{;C^(4Zk|> zZJbX4G-Py-YaVoK54h%G9G21dXmrb;)FQ$s-S7#lNBavFUGtD@?sfgUK+ESE%Yb9K z<{ofL%>Ag@%g?Zxp9nId<0C*EE@?`kg1nZvW;Y_9Py*$0P$1kL;F6nxCkMMx=fqs@ zF)x;I;cLZmJ8qpJsDe`<1GX~4qcBYY-2!?hbpXNFhat=mP}m}zpJ~dzkLi!uMRjEU zOSbb~EY6o{zY5liMNR?fJT%e@AqVo=`j<(OYRYJA+Ehk&0hxe%HOGRD8D}72=wkD7?iCFMbD7?U71CQ_ z4`ORx!Rvjs$D44md`_%~mA7zzK+5K7E3NTlBs5+|PoZ{Vp0>}Te~_6%bQaam_U%41 zVdbdj4cLCZ&`h-GZq#}MNnovD<+Y9Dm0{c^vMqyoW_mX%4;nd3pQ=#V!?cAoB(G|R z_Q`4j!q%y&_vPKJPS~aygdP8uEG;-wL{RusWoG8Bsi#r)PWlKm5jMOFHhQ zuAC(RgR^E9s`J}^+QHY_(ei0gPCpNMiah4Rca(F997&~hAJRG^s@6tFDG*KNL5JmX zSS5*4hE>>Fo6_ z-qY?Nkugn5qpYf1xi>G>k@^=>@Oi{$hx2kTL-RUI>vdY4rTul9fz|G~6j6oRH<#$h zY%4Yow*r034yjNd*rI5SvMGv|mE{)Z(>>PJ-VI>D9%Tk%4rk*it7xA=#5}vsoS16Q zPh=V{I115C(&!FBH$8}OqnV|T^!OD7=c3pi014GZMq1AY2XVUEOpg>!# zXZ~H!dPj$U*KP0UCi;SUM7`D%yq}(D`|q$FNu2k0VcfXfjvMV`L*pHeoGTCJSQSVv z^xSv#!T-?VySnlZT&iiKA7tI53?%~`vW}4<2>xdN6BV`3 zf*UTOD}!UgtbjxZZ5@%!E5{gGLB?ff@J?@8*Gs|B#2@z}6_sO)y0DM?5z3=mk#&Up zwd9Bl7FxkSD5<*o(Fa7$`IDl;ciPaOAUB2$hvY&=F6+An#%=O1@8Ns=OTWS__=w(OfBI7cz>+JGtvU>Z}7A zC!f{mWP@9@_3b$S#f+AzXiL)1TKbt=kG`lckj@C&6#Vc7V(BJs$IAyPqi%!4sufaj zdWyaIr<+1^m7Xd0Y;e82(GWo&wL-XbYQ<^2Nx%+=IBS9W&X!^?2XsWcGZuHsq%;rf zrR*G(b&iB1JWO^0w{~Jdc1p%!(}WYm)+*qp1NJ~ADcH`(<^Qg6`6Wy1t{xf4`4KmfgkR}R68*>sEXM4Jk>Sw>Q93!bk6g}Dft9){;fCq48b^!tEhYEyESfA&5mPA|W-pJetHeBS zRC>C-wn^eTp+8B0$|nVh3&gG~Ic~|B1;!8UO!LDy%W2Jc^=Ts2)5PlRs%ef()$`RI zKq_#o5}hIhCG$b6n+=*R1TkRh7W$}-cx`EwB{UO(0zJNfm$AkaIPMWx6fsT=SfX(B zBwnjk3=e`a0~2jgx*6ERwn}GtqJbjp?;L{PfXGIi;fdDuQj0GsS!Vb)280PN6wHxG zY43W+B&lm9YiQV#UijmES;?7_EhiNtdpq2KYQ|{?day|)#gl9oLpmk8tCC^$`w zgKWPkQ~-GgcvlfNE{XIx*X=-h+ZWqR#5O^raLNJE7t3nT3RfY8|{0wQLIek zTOH|Vl742>&s!T_lZP5!lg64utm#)+g#T@)xIN0nz0pzzEg)i7@fKJe4oz;O46ddw zl>}Z?08EvSaLr*9_$|3^STpc0&`>raNf7awk*rJc`wE(oe453b0!;?uA}r>vqQdV z8XfX5y-^Y~p+u64Wx>k2zEH}~DO;Io9H|iSChSB7=^Ts=OVR7Dwq>_$xBB>JFx3;L zDNH-1-v^z-_I|~CQ#gMT-Ru_vS2S7iCh_+85AKM{w*)SHR;5t)^N?~}5ygLt1C2-Y zMJamhBRULCsGDL!J*pe$11lj}0mw2+!9i<=SHyB0^ay@C;E=8-Oh3K;NOzV1pQKHXk(z3EvUG4uqN9mtfQIK zTuoSG>#y2rAfD=6P9P?u7_OuWP7NhhEl{iu>mk!=)mA=H*3P4FHWf^@$_Mug+O zE?d4K=DHUk^J2)ZE^$bhdbQ1^IZR2aCxGQFv0b1a-A#b zq=s+Tx|2v>rW^q=)n|?Py2v4-Nl3q3JO>F(U4pXT@g_xyWA`vg@ z%w(jv%N3`jr~6dT&945kJM&Afsg$nul3Tpw4zF^iXU^~{|KplXZgI!rZ`_~i&%5Kq_l1c892B z0Q51E8uN%k1wxJy7{`_cH|SG&Wg#VMa!ixFDx3FkOToV20Ivh)C&xrjPA4;SwNg?{ z3YENpJ{s0dX@P#$pZ$r{h5fTe4diDVGs+luI)z(B1i$le6vbW9JOo8AQ?~i6OL3=j zNiYqg2&t8zjQ@XZod=v1)!D}9oHPC2ncLg$-n+f9yDWXF(m{#}YHS1ru|#7-6E)Eo zLF^4wY(xcni-IL~1-r)HOTHLIC5h2!?9r&-|IEE8DL2PO zd?kLaD`xsTlxhDWl3Y)A&DT*V0*jOqI>|pf!AFkfUj)|-Df=;gh`;IQ^&dG%kAFI? ztcCS~6aU!3;{DLE_VPEn$q(G@eQu@Nl=sxIdOtG{mtAs#a|Uz*mX`GV-p33`1?(hg zO;I@m0vT|E>}d_4(?Y?--P8m9Yh{VkR9JhlB$y0M?Eewd?T3=I=}%;|TH{8mlh`=d zNS`D~z+N1r!uF`gUo66M&>S|=?YH5FV^|Ji=?~hY4(FsBb@Sj>=)~c}dLk4vlNTh~p9sAt zL+jzNhi1)3yvLU8elvt7A;$3^2F)9TrniFGpHkO3RcK1Wv5|F`h3@g8o2a^zEZL5K z!_`%FOb7s?Ur!GCTRSAEQ8R=IHTLhnWCxrQGDy;TkgQ8sCxsm+hyF?75vPXYH2p&~ z5-vz^_4zBphO_jhRCPf0tO)((;eKa_$=@Y1w5{bmP;s?T9qI@S=I!J!6CBh5mC~z$VVs0-S}bM^BrWPQ zG6s6hLme=pKniB#*LTG+EC;dlGZx6x_dB3QKf)tM7#|e4a1u2zDq2NP!cXp(NTxF> zH_V7)tP5zWW_w&hK=?b&XEiDMEJvTo=yP!N8H+yuPerSI^a<$|2UK^eem-n&vFX2m z-s(G)$n<+ykA%2Ng$tyyGSx*r-b7RtyeX;*&eTfrEo)GwrFnAg`;H`|=t&ui*NdBX zCJJ}Ki5=fJu|+NLhQK;2*>+hHAF)})69M=$ssX-F0PRCPl2C{60z65$5*VEbm@-7U zI7_I=4bHbMRo@cJQ3ISpPuyHOs{UP0SuZ5&{*tJj)3Rz+zxPSGa3H$cvoXY-3UqjR z%DOJ4>wT+hQ>Aq&Pd0Av?|@H_eEC%E?3GxCdf&C_{2y?8>OSy*0LWJdZVB5<9UxzU z@j;5WBJO_n>;klPB?TMQMVLSDXi2zKfOmStwCk+*nD(5&EjctH+U=opBu+?Ot)w5< zj4z00@g}0N7WvzU5Dn`CGpnVkOLP$+{ z*aP*9f1H3_n;po3QO|3Iap5Aamtfh0?3SA_Iuk{uxGI}#%ehulbM2jsVzQcnQZo$=cLpMA6zdYHd+TKNT^&!k1a6-X>U{1dOIG7% zR?q$AJ|JSmqXObwgX`lc8Kx%M11wN0-Og@)r?*kRq`?QE+3PX~-k<`UUBWn#s!717 zd65YjoFzL}%DBsvf_0FzJWaBo6`JW-dlRwtT&-|73v3I;FEcRkchR=UD9)#|(L6&V z5q=Ajq=27+sh$VdX=R98G<1v-QlxARHakh{ViWI{_*PcyOsqbNpqmG}hdR$o<3(-= zu%pm6Hp-RXVJspR`|m11w9QrBCm zH1yS1ju-u)5vr}bWu&neM?#hUS_d2d`@4>-;hp~>@HhpXej1Bj|L^Z~^etnNy@VqB zqEIBE)36fsB`b;EbS0%Ds(l!VleJ=^J~LMro~85FPLh0#G5$q` zcHpbr(kwb0h}o{OQ2iZD_W7eS@t8DMc;RwN?181j!0?>X{ca5cW4{BJT&8wf;HwdejG!S;yq$GFnNmjPhZ<>idsf~z};1WH7k&T5yXQ3>)-mTJjTJ|yjxaOQQ z``k17;%D|br}W87eCuK?F+x?z99>VGF5@dack}bm^PKEy64y*0xo@Y-@p0>XIZ^{e z+i?$Q#Zy1Wd-@qJ(a%7)--8i75ay2k%)7V;?M3Lo3U9V{pAR~C>46ad`q1dJBl;W_eWs$%Z1g!K`mFwXeHBYx{h<>5u)2DtYpbjC zS;3>Y6_>;}>xwrVV}%+Gdd+kH=$Wv-<3HD&dMQ7vt`iN{3g=9Pw8OLh8}~b?)^Snm6ZMiRfh_ z%;MjPJPmj2%JjYF@1*(>06R~;Ana|eSA@Nz^{TMvX#c|iyxD(|@VC7M`L?hxWSr_Y z?ZOl$i9;peJcO0hdDW!X?c|;&ot%BHv~uRz;3APbOXOjZ+VZ@NR-NDJNYCx2ai+=K zW+&`q(A4JV$f*rS$8j8zqU_-aM^%mK;w;)N>NyagD2p|HzeP5HAj9cLP^f#q${}XMR(g^KM}0A#RhwmT5k_BOwt$DP$GjG^SH%E zFnUt-Z&%Ex{QOevM+!vsv2hTwJ9fN9G?e7BV0!>V8gN#${ zpA|9vY`ob_@aT!AeINXo^UNNp9_*$r%^lrYxd4kv-O`OaFNU{Msn6kxjhp$UzP!yh z2L>nkb!YqTS$;r@qH8){9gTsubeEI4-9eDGpgq7BX-_cYoD;9%hAI%{ z|4qDOyKmcLGTjO~lTnjLIOr%jMSaHI`a!6|P{H z+-fVsF0N;N9ER65#s1Mvj8}KXQDT66P#4R?8(fqxIyk>xwfI2n9R<*)P7OB?RsH4x z>Ux3Ddy$e~&MGaNNtgXp#(o|GtUCxxiL=o;)&2PSYVXm6GNfRSuz>4Q-mH#yHJ>8A zDum_sP|R5u1QHDWG@Pz8*yfRLn`ohm>a6@pB6lgMh0Kw~;S}mD6e`7nXphCbX?4R( zs;*Ef)Ma8#_>f?t;`I`|7|Z+6SaLbw`N*Zu`F?|!6HXhQ4-k=X9HBO-&NP}GT8T<8_8O~hCZ znlRn)2jMEy82e#ShDsxygBs4nn5Bk*Q;vGNF}GK$oz(>M$%1&I;AJ!mOUCvmT1)bP zHc~M`t&fzQ#%1_YUf!1n1xvo0GVQ1G?p=BDO)g&D&u2gCNwS|4?S~LupO=q85*_WE zFyk-h5Be-$^A4?1Rj<%P(%e`3f_lw|kpI!WN+E_ZRSvYzreldFH7BBQ@nS64eke>_y%(Tx5gmy@GXTYT;jeP3SP3x2B~ zeg{vk|2VF??LoE0Pt_CrI@(e_WqFJ5r&SNUqk2U3_m8V*ss2IOUZ1)8N9S7V82dZ$ zrnGbOV@fLU%7|bxEx2w$wMKvI{E`e2-6A`=@Tc(pCXgd2QR8*->|Wwax-PHJx*t&^ z5o3}#oFpbnVR;t)yQY%We^aXj{naFLR{cH3I$8U!`$u&jy-imZ*84voArsaqPDvJ* z17n1hj+b>osa#hn@#`S&ZwCg<5H&jLUeK-aw=}mRP`oX-rSH2zU555c-jF`UF44Kk zRN}j@uA+FS0^Vw=p*)^$hXv+Fp-9mhrJjxG6+RGnuI3t}Wl#pCD(T(hj?CWH#2D;C+ukup-ewcZ13NgLqcR$|UU+TJ zyns_V=j143cUg|hZ{GiE+GVCa#~wwkYg%H)vA2lay1e(BLhf^s3&zQTH|MOixuNTF z?hQG4V@}IxHTq*k`{=V$W8TiXk7Y(bnsNV< z9Q{&qLTyLcd4|UD>ACo}fmNRwFMA-+%AX*t2sO%mAkV+ci8sq1du{GO6DUjYsW5*T z_61YjZg6Z?FyCwsClHhE^BRMVX1@C6O<^7#b_WN$gTl6$6Z}>*Y%LSz0ZkKAOQrXd zN>6#Le}FeKTAweyefTojFX>8`GtFmUhu8r(h!zz8V4Bq;l3Y!=d{M{>_?5I%D3h#i zM`r^TZ;2vqU-XN_l}x3S7oX77*eIJ)Ab(?`v01j%H}`hr+hs>QCUnT4uCY(Z$d;P2d7wKEXmE^qa#W~Bz0=!&>Ty0 zh*|so0DuIrFrgZ2Vs7*&`Aqg_V7MjWZggynIr?}xE*M)LR~h?&96x9)dm^}NF?NCl zW69{L;S@QY4z{&5E803!&KiI$jnDM9)3#k!3=?XKKb_ba`%%`?SKD4D=Gt@Ob2D?? zxkM;1~-7VOX;8*Ps9Mo)NO^p6_x ztQb1l8l&7`G|<7(%^y%q!OO<*Tb7=6E>q7q;#ucH5v`h@afTWGkIfx$cvDf%oln^| zy$;no()hiaDbt&}#j7sWgj%WmQ&H+e=c{=r9l|8C#?ZJ&8{AMrlvE$Q82uQ1w+ z_xp$+|F^v^L)%K=YTFt}1c?&OIwq%k>^ve&JCJ4YrqB*!b3q{{Hz}0Si#AOCq6W*Q@d{Z;z!BvZesv2hrkT4o6H%(fxkQ$X3FOztj+e|%D ze@2IHU}-}~xD;$86_u~9Vg)ire2y9gB~8Y7jKJ3zqDi zwqbuJjCF2iM|)?=k8UexWoB-941H1`Gs~Gnj^Rqr{a@$0KRQ>qBk`yZqb);d2@Mgy zB9%6nj>#(|@6=@YGcL)=bVxQOvz70iHXeplK~qW?_A}CW%%wJt4N=#ka8GVRo#m;s zy;${sVIGbnpR99x3upa-cSNold2K!G^ zya`3!pX4~h{)cP4Pf7_yfeiRxf1|nKS7~vdR^T)Lf1y+?kUu2tz_RE@CMiF z#}7yg>jV{yBb^vx2YXMlCTW{l`+2T%YdurRAIqP}I_nU3q(iE&m#2n;8^2NL{@HK- zQ^;pc@i9G${yT|xHx8dW@c^Ly2V(a=B~SqYN2&(|M7nk07+}t0&qEN`^h9 z$#0x&eD2W^WW!CKf1B4zE-qlP8JOOzrZDU#8}_e_Cu80f!a+&fj;b>KP-YD<`+)(( ztY#t)#i4ULO?ansU!m+kH4QDUY#L9;O~ZDL zkKzFSh4E!v81^y7zv7z8$yyr)i769vovp65y>&99($~w_RWfCq9$>AN-HLsOY2E@I z2FXT-{d42^5Ue5SNe+hgNBVC9!3v!)A}67YkBs0aabPF*UBb95#DPp8oIwPs5m>{b z3bN=t5u!FeYI7kzDiKEswe99op=&HQA5U%;(AE{(r%E4)baD~d~KL0~@L6o0NMgR{jpohO^( zPc%VyW15dN#UE~BfSTrpreJ;a&AF>7erHq0>~F21Wv-_u>tXVpz&2%D(Y%SkX#?Pr zB*sgd9Y<%u$3-`4ipOKSm!%b3w4k)2#)Uz0M-k;C+CuCXHyHY(KfsD~2ln6ZF!{aF~#Q?AQ=Tbl1k`!LPM z790XKpE=Mw+}qR`f48ym2><9|`W!kMu)gM$MHWxi+luBhbZdR@Hi!?NTXY;1lV7%59r3H^yIT%Z#i3Uxm>wde7}X~oWbSC>&stDZ%XoHdKHU_bz7^ph$WZ{K6Iy6nU-)YjgS)cbo zg(>fM;h)5e@H%mF=FMEoK<~uH_z8`bK4;kXP55@L32)S7%~2D6QoD>#>06BjGDS<& zh!s4CG-4Qq#5Pw_)s<51$;gAfj1yBuTr}D*k$)oTKbvfgQ4Mu-dB3x253{xWk%lBr zMnd4*10S_1%5Zr=XmHeMGEMC(E#t9td1rsyjP1eFl`NLX9v%;+4U;q#stcw^ZF&vH zsNdGw&f1pDj%0Et5*-^{F`+{7S@4KfUV~y1i69kA$rya(gr(%D)}<=cs%hW%;@GnV)n-| zpp_<^WPgmOH&T3lxb%A>PCMN>OQ<>z)>5g!d`y<37)c|Y5EpjT&U4gpI{}-}!@h?(gx`2l3$V@%&54@Ks{J%p%{PJ7qR;*6{nY zra5bTNG&3>N$0a84-aD)ye5cu1cUIFghL~nI6Ac-gssYtN!khpC8KNQhMl;x3Iamv4g2PGy z(#og9)XZ#x zP4p5!k3@RAIRl4zT{Ts%XhHyq19UQe&wiFLTAB=-@a|nDVw{)8oEu~EhUoLPcN{mk<#P9l@gu_!%um_wsT)t;!DRQy(3Y1uv#9Wx7-ua8lyO)KOP$uvaV0oQ3! zGEvKrlOuUDg^W4-Rb^}}4I+eFvA;ppx2LAifArbUuBDS~g_7C@@S$EEg;T5#wJvTY zv^Ld?X8jq@&p3RnIu4JDMqu@GSoEE0ri{-Et3O{_T~)VLKevs3ua4j9mg@IaL;@Mb zTkg8$&u3Q8bV7B-Azg-jZ)ki~>Ofl+=LE^~0x#ZED72WN9n+pO)`-b;>}cy~Wlnc8 z9O1Gl#8Xk+;POvHFTjugjxeHeRCUo)L9~afmj4R zLko~FcDK^STs>Oh>~?@RWUlxfgjVra%;~I3jgvx>PKK+6cS!^+_#@wnjVmM0_4F^ zcM$0@So#^dzr}C*ub^F_=7*T5)QKV)%;^-b_~w#Wqm`v7dQs==WGkHvW}peK2$)5& z4E&3hCrn2tf>Y(Tcg9?lZ9->1f&#iaSG2#=M zd>&I$yGw}K(IuVb+JgNkd{TWFijTt8ZnRn{J`8&d`wu3z>g%rY`5;KAPipl}CNbPP zqcwGAtM4R}Q;@fEM|azFF~(eUT1)c07Ak`P#;ri5kzkPnV|5@Ff1}oCOsi z%n}++nvwf5y=}SEN_`YB?O7p@QxNF!vge9pbhNGk6v{Oy*2(=7Tx9@pqLncdjo8?Q zmzF@0`GX=Y{w|ID_>GO0*3{96azDy=XmF89ls41Bm>#4&I%9Q<#@(;1+R}^A0XK*{ z?e&1U?LWK5@k5Hph6JcSCux`QbtV&etJUxIdnng5+8;wi_l0iv_-Dl*3ULx1o(Tx`c?0kZtfW4`ferNpoghuNdOWU7#|u z9aoOQ%&gPL^;!c9E|FL*Zl04&u0LTREu#A6m$dSas=?g#0vt#Z@zZYaYIWNCh<1|J z+UvsLI^6)5L@C-O!(!0C4VV$j$C z3kQ`#@<1JmGIfnpkeSQjgm6#5cJmspc6L)ku5rBUof>KiAsV5j_9377> zh%Qi%9}wXchz58R=}LLsclsJdQ;z-5h6*wi7Dv)cVoPYCkIB@pAxd{QDky z!fRcvX`?P<+RGXti4m_VEHboOUrn|aZr07u)F7UEqxE=+*ZDNrpplx{@f|(q{TVB ztTUN_@t482Pgl%%Mcpy2MtzhH@d^E-o@-li?*#*lJ7DclN87&+jao3fyVC$9RBBraLI3Bde!GRMc6B0Au5tumm#A? z&Oedf6ZLGyeD!qP{a|yVY|48(7Ow6~YIy0TDN2F5^OW+4(T?Qxu z#ve`L)J|qP7%*dgd={R+fZe)4fZfHj&1AmpMYh`3j}R8SpoZG9Oc(~0WSG!kw$hs7 zpOdSLVomYx`0C=&HN|!#yxMX~?o>Rj3u(C?)}0PYEl)bkt3bgvkfqLdyxWC;hkzPx zgp+VrDR%w9WZz@GS^fkZm1EfN0$en1uSZ&GW}JTz8%MKom^VkJ+=HPV-dVQEVcDw$ z?nQiSUG|Q)_*#?*|JZ|MVpEIxZi@uqH1II76h;cR=D**XGn0?-z;UzioRB91{RpVa z+0ZS;Z-UCIK%Gn0xkf9vrw8h^ppH+|Tplz5a#oiB5>^)uw_Bu384Ek!I$z zdS)jPXAaJ~aO4HDA)P!8t8J=mNZO8Vj-m)8)n170*Aa%Tv&vq^%M2I@6v8D<{0!ma z3mJa6IwHoxu$TEuF-IG*gz8UqlVMT0hbK;y?uEiVz&)^hfD733N;lw4!4bJ5FYh-d_@qIi~tDbZ9vQz-R zY+-Qg+V1y}>M1u-QB2Apuz;!=M-Xw4m$Q8nS!-+$(vjm5GvWe;TJs`6(w@eiG z6@L`DHKKU1cthm4YCpUg_mWz9wPlvXROYG$Lik0|!?#YGEU_deLof^oo=Oj7sY^NV z?P?;v6wb&4GIt2z79)sY#|tkAs$#Ae4LHurADB&M^3nPO+p*8kPqOWs~MdHk*caLCJ+P@a8xLX*P z!1iFZSk3B-r21DfZ17F{qKbQAMRpTd$|Kw%{zW`Uwaj)-L>*+}*OXai-u2Ib@!-GW z7$+vJlTz_hQ)x5Pl=)rCdNDO}_nI`js8;HCk-0N9!sMjt)b?8qiD3L!FcwDO1X$p5 zk!k=!bKAqRX2EKW(X&D$KDM7Q!U*Ru!6}vidk)=#PGX#xL6H6_rQS?IFO2{rOI_JF z*xrq{dOYSm4dFE$j5o#O4>1}=k!Z)`ad!oEBV;fj^VgKMF*RDV4{5QrNduQ%!?;11 zQ}nhLa~XP3J9pTLKS(DA1$exC2n|$BQ{w9Op7_(~*2Kh#tdE*7)Cd>R%9`hBB1$XO17nTk7*XY#@m@FRHfw3BMgYK_`Y>EL2S zEV1}Z!5o%jNwLg2L=!zpFC zl{qMDPZPW8A4t-sk#}c4+bE1MW!zlEWv7d^IY#&+RIUju&*8N$(tPI^+*JkbmJM*u z+9wqJ8pZ*9!IDB+r2wh9KfdLaA1Z|ASQCEO zKNh?f3-;yl2zCMb>*WIcv7pzJ-xQp03*o(SX9JLx*wUi^Wg+=iq2o)?yz_6)&8&95 zuT(VQ&($699)Z$3f#i!B<{~}sJM05b05QBVWC~(fLL}{2eK^}mms9h7&%-PeC9gYl zf-vbM$Vdp1kZokdUYb4!sP9uMg7^M%HOfu6Pc(om(%Ov;rGCbDK6P^5Jh$kqDkfix zd#}gU2}LtwKU4*f(2!qI#+8bK)Mq4ch>KpKs#t2E7XH9`V<}i(ayr%6itnBX@-1tN znJ?L6{u0_dGT`pfl@G9eda-rB*J{Wlnu%g?gCM19n0`u4{L^nf!&8n%Dnbi`-%fKI zGMsHv#u;TSCztd17}kZURm-l zDrKDPX4UY#n#;6@qL@dBqN!$aHfdJ>aq2Hh&X=X|_RzT_ z48JJ(f3KYyN9QR5rE<(1?rS<-2}SxZ9POTE0zd~}_ORw`hV|iwIy>sPQ765sE=6ep z5>cGYO?8>8>b}3p$7(k@-|Uogw4bnOK8@z5V;(w})uV@FGg&*46{5TK5^+)_?e{%) zfDuA!abE)iW@*Vgu4Ku*mhrLYw?*_(E$3!HLNV$GZFQrsfA~5@^3EI0~ zRAWrO6uE2d%=8EMl0y)(^i%O5yiypaml35r3#H?|eyuU<^Blo>(4$9^wyYKBh21FL zd!cy$zRW|NQD>iB7oLTudXH142U}>{q1-Fdw&xzsy(d{Fu?%5}vn5(jU zMU##th=j^fe(lE~k$ADFuo-VAUOD}8--H+LPjFI%aJE0zG=kp~P@z~c=amMO!Ho^p z4UN`~jfs=W*0&Afn+6iaPb^orWp8Ly*EE`TC(|I=GdiQfu9$vvO;f)@q8#~EMSULv zJ85$p*(}F91ldQJZz7oI)dWrgxQT%BT?-$`q0~#-8e6nZ|oqQOo z5m8fwOpM5PVD8D(#qhdN53iA=)rYuHH#N6F{cQ!#XJz;Evh_*XeS*}3Cjap!?*ZMO z0Ld&6>g1>BxCIO7Hr}IO7^xW)^*eb<&-b;P*wr3fy#WhA|CTr4GxdWJ;ObZDtB;*C z!nm%LD?^y#+}Y^f)o9(`sIPn`F5DLHM4X2jT&Az*aqrr5UA;2ZTJ+WH$7=dR{n-21 z!>vfkuwbJ9&nx29rFl=#lkJ{|j59(4hnreku(qAg8vV~3txpL54-mJY7HGEa2b$wPt1y-OO;+7^8Ug)n?YbO`S9|)KsuMJX%fT zho@cBI~}fz^MtS92myHQy3gt_)L;FwwKwkmp+&vZ0?rOK5qJ`c4RNjEs?gSfWyy4r zjlczf)=w*{8yiq!+}ATjyUBHKZ;jv9O4)$hTeDxa_$HHD5|leRQ?Z9k@t|qmo>6yX z@@65HIjPlpv!#DrW>~gRdp6R1M(Nok4;NxJEWcWq?`!6l?cAR@wa5D#)5vgy&KioW za%-+L!H;|Oq@!+6oi^R4CNhXF)UCWkjL^FB6#bFY!t)UVnC*y!yW7-#ZMp(n%AFd^ zYuj6Q8VvJjAa4!6GaAEJ@ba{dcuCYr7STtxX34NDn$vBBqnV(z<8uraI3$Nxb#P|w z{0YscO3t$-e9EqQR=st0eKx`L+JpvdyQ}NN%j&ZOvTemgrXFu-^~zUD+6fQCg>)|Lu-0^>?BZa1fPH(%7V_`rj-Weu zt0S|iqknYf`i|^H9pKn>vmK{U0l0bO-%vH)USzSo#XSE%E-iHKFz|Q59$l>D1Vha-wY1o{28An|cg7^q~H3 zFIQrPI%qkEgm>Tw9x$CLpv!%}tE{>a8TRrH65+1va9geGJFLHSxS`wZ{h_GazQcN;0|+B_ogX4UpTKbA*s}E6y$+Ji zW#<5IUb0jAnNE+^scZJ8yBLSm+rqZanF&pglc>udKB2#$LE(`u^|n)exSIt7EzQ!7 zi%?FpM!29JC&&(PQ`)~W-TW9WdM0vo4q$0Yds3X&aK!wqVVonf>UvoeYnCHqRZhl#@Z5Le8t&y zT4C^i!g&oe6~Rrj;AET(IjXf7+ZDAK+gN<*WLiM^QnL7|g*v=*#I&jo$eA<&-Gy?k z6zfP}k5)6I&tun;w;rBk;#mS$v2GCPFUTJ>3`#E{cu!qrGg*w?q=D6m>-y~FMQ;VF zU?X0?3_RQ|X8WCe@w591&$T38B)njq+n0Qx@7PJqyE@_l_h37btST1u=Vm)zngPye zigYa$za+#wUDl=86Q6^;nlbee&qxpe4byr_zuAJHz$2P;Kx}C7_E4l3b{-4yQIS|n z!JWbKBQIu5E#90h-YBd~O7Y*6?6qR>N2++gto^w`PW(`1Z_0v8)9-p)94Eu^$_`<| z;BCJpaNP6LVCFZ1LShD10c#6$J-NhMCcZPp5_DGTyBI$opfN!F!!)n0nb`m9Uz;I= zNOBesr>HuRYz^b~7oH%{{bCEU3!4l%L_<&75{)H%^hi6y9P%khsl;cVoSL}JEB({U zf9_eIk+c}y^0``pZU^^hPF2HobmTfD^$^@bq!tM1XXrm<5Sq!3h*3*cKrA*HW@TNG zSEeo(O@`4^CD}q$RcK+QxCKqrRW{7|`Vtbl*ofqDAcCetYr8YFhC2@JHa3V3JBsip z><8h*Cn6%)FQN8giSCVfMHJ(m#c-_>9`>q}Q4I~uUIV2;-`D7bOSM3tK50$TmBh1U zj@IYjvvz(cKVd?QPAJKUjLug94@y7QWRt(pH#>`)jqY>~4lrhl$<;fBbCM2I4{uTE z5Fi;9IL7?!ubn*`7L7W_G2->{hS&t-WL3XhHmr~lSiL)A$MYt8F!jiQ^V@I*Q zFH@GCX}|hNI>U7;y@L*^LD!l|OQ)p%O25S4=$DvT5Eyt)+r<$^rB8|@N@08{vSTZ& zmLhwrU|!5HE`P6itT0db{eeJq);cA*^Fp4j^IqA|Km)>=uG8IzSS5S7)KE$ z4d?EOkU5eii*;wOkhlpU@I$8~UriS%E~vT$Y56i0FXFu=`4q-PC@?&N8J0@B35ZrP z;q*xQxMtV=(mV#QcVySmE70~n(Ar*%rSp)oVKcwIFDQ%VHu#MNYnGKDNS1I&Jg0C5 z>RU*i3{3J#YI3He8i4OKqd`gN|44R9w8lx$$_|QNy)Drjin?8aAI>D3oUKK3s)UV) zp1DDL)(UV3+vtOjPz_UGuQ@_E013u{>*%zcL27V9#{qCXxMn$5Xr^=PM?n+AIF1}< zqmj_`%^m2Qx(HuZ1N(5!U4xjG$Y6AN^5dTt>IufA|0EmIX84-OKCdG(dL;dl?cC#b zq}Q+|YaUDG4Wc&+G1CIl8&Tp99!e24dpqN4N{>UmoIg636P0 z_WsF(?Sm>-cvQE{9@|-c7brc#o?lML8GbV_Wlsoh z;T0aOyKXQMw>6xDlNRV*aiw1u_Q!HNKS{xXX70shQJ>Bl`TI(aZul zOzi^#M&S5siwQXt%nWN}TUWBtZE`!a7m3t40F{9J#NU;G(JH?Yp4}ny$>3^{xCXY{ zHhM%ZHqIKE8qnqrwT5`_1Gr9oz({R7CipdW>%}5LO_Xl`9#7ou74P%f&xsRN!l!vX z+OZ~zs(s!j$(b(R#sJ)DY|Xfa@-{NA7hrlW6ZTI@Dt3Ni7p$zk$Qt90);4$>F_Q;T zCU&K(Yg%3@Dq;saVZB4J$@7R?cE8HrDNXqDW?G;4ndf z-*-@}-7I+xnd~wdoDPUdE|c+7lsr{cjz^-6kiiS4|03Snsm}PKvNSTRA{|p{IxAC0 z0dhbIhTdw&Vb4O6B1Lc00P41T&EP)M{)4n$Mv7Z6nTeOpc!m;h6+i-^r@z4spM{-gu4eZ12dQRs-X^+gn>m7-6K!xa#psCxshQYfyyy?QR~OujCQ4#6!A4L0 zfnpTq6>L%*#2eyP+wRk}RBq3so_xrwbN$CX@p~`!s8@W%8~Bzt@Kvv+I>i2>~@k^U|EO41RK$df~)&Oo49UO)ohFhB$L14Hp>OKHjoq@35v>5+Khv_YL zI@=Uy_ia;|-OJM7_HR@2SB@MOvd)&F@#*>kuA0 z%t)T0F`v5Voc6Fan{YJkgks<8s=O9jZb{}TF)yjriyRA}iL+9aA7LOc>1(A6brvWU z`8{n~vnHHbAFVr~tIj%!&Fp?J)vAzOE6A8_vo9BNlBej3DaakeD*CUR z=?jgYhlUv3VlR-lha6j^u~`s(4z>dcZB`6Xc87>O%RN0MQ{z| zg;uQZGiCh?CKt*2bG*(ifW%gar6!;_9i7rj#kE>p@t9$Hssdy;K%9rkW1Q`@_BKS` zFCm>~MzyK&=g>t1z`wwBSe_Hs&fMGval5%*BbQR^H{V=$baQ^=SbVRbTA(VZHnT++ z`9vD8gRW4A*@rd>{|n(PkvJIqj~9^>eg$mbz0`iLc5W@)}r3?ZTk)b36Ush;Fu;`~fAoxq|-D7Iyx zn)tQ0?bW?}C%~p>E8b@LbZatx-t=wqYg8pU^QDe?~iF zdGs4Yq2vBsG+`wAh@E0kF+D0r_aJU6N2onJrxpQS%PGzd@J2x-oM)Pbssx#oI6AI< z*}BI->C=MOsaf7$i>5CiL_`_dBdke!05_>er8$Xfc;e<`hZsXOH!j}K=J0ctO);n($;DHo}pv^?B8%K9bMedEs|3G8)JU9H#GNp-1SUm@L_ zq_{)Kz13b0i#kgEGWjcYle8a_R?70r?&+eTW!m8CEyFq67IpGbbQC%{r8Fkt=LN0H z4n#uLGKF4U9bA;Zi!;4c7m^)uy%2?G(N##OH-u)-Eou>Yc~wLfR+I8JbW~J4X>8kT zh(`rr4G5qo*(JD4S*uk>c3s9RCFDs*gPVe8O`6LEsiQhoE!$Y!9Jt(3J5iZVPSS># z9+tcE`nls>&AC8L2ribKNa4<_WtvMn{@>s~4+{FuE3J zibh!)0hDCN!6PFzJZ~I!pz&+%W}^ypS{t2yA{zrHSb-psnzo<@A;IFM(#!f?MqOD_pdFVSWO=y6@J=*qlCp4| zSef-+%Bokh{&QLNd^UyO2$#67(CN_5gk$6@S+y~1pJMv2B+XZo!7HHosZtH$CAA#j zsPT3FArDBr1NP!Tk)T6n88seI%rx$5^WxXLUOa~nUw7MMnLr5(7v(=|{{7!+VhDaL zn{dWr8{puhwTCf|HW$krPxcIQ4|qr5EQMM>0^=>-q^G$aYW4ck!1|VGZao-Vo%V{ zy!a-(N0p;{i`R<1D|_|sT?zV+^^Mm>aV_^*qczv-@s;g+7j6ZiQGcp(y6inoR-FEy z*1R^Y^rrtLI^X=a<|r%EJ&LULvYE3?2aV`-Cn)*8cG*-}$uOY4#aL)Va?T3qUa_AFA7$l zt4J1Mm!kQUVsiP2p7f#4*ZG#@oF2ox(=mQJTQV0iKh?`NxSnF3Or_IQSD>;NaC;_e z7jNdnLIRM}4B6D$z|6^Y(kgo503gz)nVCk?$emd8EtK$S*Y9CA+FJ{#Ho1@dm6&4w zN`I|Oaa6y#j486T#(Yn$HpLn<6@BKT&uitsZ<1@wA8+w;5sV_m0Psc%W1iA)bO!sjNlin5D*^k{v@(+o*d3%&UJA4dI6CH|< zJ)V_MXX8(0<+EA94$o!fi>zZWW##MH|6o61&qp|ly?)qRZQdKPsE&bTyS7}O_3zPDaul@d=k0IKRNH8_MaDF%Vv+&D#2Up;<}(oYV{@H>StJR`R#( z^eUY7`~c~DnRaKt8>b^O=8qshVTiTCay2E%?@e>G`YjfFj6k@r+TEdctIBy}i88e? zBc38$z1k6`l6KkVJTI&T$<{=uW|-CW5dSYi$46(Hf5myqFoQ1y2@c5!)&po57Azqf z&H-GQMUXFfmNdQ%ym4;MnG*--fTKpnQ!Fu-y-%y`VxLyo7O=!yyp^W!8WNim;ieC0>QP0iQ(ic51IraM0I`XB>rv^CZm<4o7{ z3zhrC#3ai>EE$$71zcmec?4QOKf<9ENidOhBO2p4q)9z)S@QO#GY9rwlNDEH)hojN zf$*kEFy`E!mDe$THJcBL;+X|&WUqu!iFc~!SSY=tK68y?OjOCpG#yCvFxXX^(vQc{NmF7N z@43>@3tQy8LJQzPYI%E;~qh0WF|tN=EO@O*uW6?3wLb?{(gyBHT+ zBEAyZIWkOtq>d$b_ z(xAb?!Q952%k<&HKM3=)JLp0&w1mzX3|I{tcFC<@Au7HG66uB~0lZOL&}CAI`0%UN z{R{%-eR7&iTQl4~IW{&P((%!Ws1J>`7h<;MNu(?`LGh>CYG%n}g?rng+w^iE2 z+I(+A(fq3SR$y}D-e#{7+ZFY_Oq9uU&LS0;H1C z3=dgcbe-5~En!Og3qj#PNkv+!0dW$>JoFU!J9(tlkBuSwj)!5=X; zw7t`XmCn5pNF!4%X=(0{iZuu)9q=4HEHG|r+*Sj?CY(c{oAfMh!c%3EQDtIpuwW7C zUvbOF$ZPhh|F|cJM7*9_r@KU(`v~kkvGh+eMT7Gp>h@(P~_ZGvmll-XU(d6YEaTWYWcd=G>Z`|1WxwWuj_ zs;bvbr}s>}ARvH8^QWeZ()@gc=5$l*PdaPJbMcpU&^740RmmU*tqF~*n^+a~S|wGi zkZ;d7WqQ1y%0sxrsTS9wVW?N zGz>IPHOW(Mk=H9L@-ns%5}G2O^mqpmuf<9oeoo;$NWLngw>p0_*EyB-Yz@swNWtsz)r>g?D4BByCpPmpR-e8S1|2tBv78 zi;1P#@8Z4TLgpknF|iewng}n$BxvMCNN?AIjwA#!(a|hNK`}of-jB7fWe%e&g5Zw9 zC?~egF8shX!0si~MGW3%JXQpeScWnR+BpweH6wW8$OVH9`%vRmOM9y`3R(fCF7;aI+2y_;k*ENNf6Yr6Ch6sg>UC{ zsxEaT6?kSOTHOF z61`Bto7N=2m1c63S59{Dcgp36ys6prOX=u{dF-Es!-vOYwl)2&)r`b$Y92TryLq?R zz5$%>@abxq!L)D1{dBBMEtuWZfy#A$rsm2yY9U4g>EFCV`yjaAxVHmsuH#p17!7>0 zS-&(B4mIQk#BQnN>;+XL?KE;FK`-wlF|U_ONl;c}^pDobaKN*cV^9KJnWETxym`5h z7m*k%|7!E*KN6UWIs!O7`aFR@$huve4|0CKE!U85&aITj5~oX=p9%S?aR0%RS)YQu zu_W9eUz@?dVAQnVHrqCt4d0o~$6I-#rCUiH+SrI9zK>y_A`KB}&oqCfiAE4e}a%UKUB z)}B!;7oH*vKr0T7o>&8(rVw~?q2qy^0%^C6xYRRV2Ed3oW18|lvCE&sd=SI^Gypeg zcU=?j$Ysa0?d=-d#TpolBV_MeTM>0NHGz5xTto7xdeoMdx18)oCwR*l`i|qi?IhlD zthb%`J5E{-`OF#kx#NE3bbanvpE>!@9rH71n=hTDKHBc2juEK**=o8wEgbI_IQu{^ zF8R+S7I*P8q-gb1M8ciQfSOG@M?!V5HFRAl6a$;&LL_oN7P{?LJrUdgu^a4oo`y71 zD=Dr|I@%iVs#4lb0SuIJOVcz!D2aLo{kF9CU<6|XoFL$|4nkdkRJ%1c znplBA-CE_lHIl8}-{nY+D`V*scN;H3Jvb zQwlIe0I*aGIZDf_DO5~w?Jh=d9sut)7VkytPZyxnq1(O6iZeDmBN`0%PG#JRib`!- zX7mL>oJ?0+mD_ z|1BQe>fq46JeRA*a4PAM%E=zqQI$v?27>R#jo-^SspN6P-NSehXg9Ndz^5*e3JNJ} z*|6%MIwiD6a)o$Y=qiRTm4QB&Ew2dcbz#0H8ebRIYvPFi`=KB=ieocYWHblP=kY^x zu8#X@s-RZFNN`6P3<-uvBM*24NKCCW-beg!d&8v`_IYp%`4-?G5{G(B9RMwPbE^;Z zps1oHr^;Tuj(L2X{7}TT_nMX-YsfxXjp^c&w{WW(!U-xUsyf`Ch1xKhIhWVK40c)kgS%e4HoBG-Yrokafc?_qrP6c_7L;8!2QyQtm+Kj@QaP&W15 z4?nisa3QGr2o=ufCF?uzWv*HZUCN^w1iXhi4PP<$2X2XhZR5)} zEl8*+SoM)wEyWsn^lGpY?(Zz)IBOy)_U0c|@NEi>_RMwwV@TO|~vsxkW z2bAAa;w?4(9hHoke^R;V=j}GCq*ikDKnLiUm4DY3M>Ai3!91C)-p;Y+d^uN+l-qep zduzxUwze21{W$Z#V2o_bUTI8j90&A>fSG9pe6FI5P6~Mv?gz`=&Y7%5xV+t4PjOQa zDG2okHN4;r(>TxSLz@wwsLDr*Ix~sSmHC+(_c^#~@u8aksX}HhNx7GlLIAK!Q}J)A zk21hjUn=p1n)a1S|5LeNvAcO=THTOlraHqs`b4vI0>De2x!YAsO!1wXcAQySYPzSI z;uLe2(;2wQb_77}sq@fKWaKwG{jI_mrllr%zt#iwU;EJ(1FG_45z$oWp?0?d68n3g zX0x{vd+^6RbcDHxDnyhF30O_eBJ}s687~~~M z5KJGPDrE_3rEylPoXAh32D%FfWS0Phtq&PrtFeJOO?Qv-om#$Z&>^GB#P* zQZ06~q6kDf$5@uhz=>HYw#j6oGv3jN+2K&x1y=P=rvr8orVak%@im*1R^H3B#-V8# zQNy2Kqj(_NV~+WngvSW=`A)H5q~VfIa|QFRjJYw9KpDv(oM0ZSh+q`WO?v!q5NE0N_&^@Bi(n%YIDwkub|y|Hu(;C7 zuCmsyc;d|1}nIcnHLs065+({*8X>ql>;4RZNG~x{yOOfbskF|}>PCIMJPL_aMAA>;8seu?pnY)FNSlWPC8e+K90IH2c z+nHs&Z_~teJampvCIq{lGJPHf6s;IDW7u{C#tJ1`C(Qco#F(_v@G#7x`k_ZKxPVn7 zjyEERr{OFahw$RX=ielZ@h6G@=R3F@S*@`CB)2nMTq2F~E0Zb(Ro8eZy4bM9HqLXV zNi~t%7>#u@(Ut?1y=UVh%cFcHS)IXWmiwh8zCeTgikxckPiyACEca_G`!A|*i?6N4 z-&)DMIL)4MrdImTwLR8n*oiZN%X(q>Vn^h`?f-#K_uoCUzqMLo_U?^)NR`Yc%dHNF zx@X!+&V&ZI+|F{EGwl8|ZIZdaKlRyUx{C|#d4IR8eBgM?Z1;F3e5AxlcI)xBwaiW* z&#hRe*#YZiwjFI7xx(i6oj69Dje4|$+i#OodAYyl-A-q{7t`IdQshW{&B-^lZKer+ zidExtZ(@O02*6VXcdpanPxHE|!!^R+)k|yJV7%4GrUCxmUIPGj*B|fo`}=#1#K*W; zKP9zR3fN0K(Li62;ux_^av^ypk!plMqZkR)R8ZfUr0AKbLQL20VkhO#z;6b$js$@Q zf+!Pkk%BI&rramGP_4Hux`n~TY{4q_(@DI7TTB$}x_PB~IOYd5w8Ar=t`DFwa|y*; z4I|-c*{QrE{bQXx%UvtQI+Mqsb;K=Z0~= zJ2yaeCkLnwOaMM@+1BpKbizuD=j`2Hw7dRbKP}#{#UJf`-h^yIyk+mZ$qxQ#yBlr3 z@A@oc8@lFM7UMo|GQ*8U^M^Z3QZd1_+xyX)Id`>mo{%EfI6$j}6QkhA=Kw1W|{flkmX1DJ& z$6YZnxqP5|IyrEqzqjYBF^Z8dxyAp*80{Y4>n>${6r7cg|52#j$>^%zghY(acXAgv z*7?qMtDr+EWr9k^6z@98_Z)GHGkAmJu6HsU9BaMPc^g*}w>#&GyBu++bECM&5qCR# z-{&|eAGG(~&W|=YDKpt_mylVyRU2Wc8YKqnPMpCD%m+@*jK&xDV)&G(`j?{Ozdl#~N*RaroVAdN@r|Lz+-t~hkKPn$U$a95v zp1Ir;E4)(l`KgFjbIJOL9ygHHe*I1u_cCQCQvTI$@k+TXvx%UrMOhLt8Zj?@;B1(65=`8umE zvH1WrO;uMyYoyg1Gk{;J5g+2b75SovG?`mf4)#ElF0b~9@ zYwrOiM{)N3PE~cN4l~n}XEx5}S?x-@3alg~tr7?ck#iKn#^jf1j4`$mAV5TkU~8{*!WKWt* zc90qmQR|5Wz-Q2el4$@lxg&%+M1t|b^eCg_LL@O0igbK9h$ifv)){y7-G6~_q)wdv z?;ZUI@Zv?i=HsY-m^xAN^F)G#L26E;Y*?>({l+&!^>XN39Jm(+&f&uTW%|w_cSFzv zETqL{aCC~>m&S0~K#4D#Pp8+$GCU>KP227%IeC(7kI7bKGM8Ehr_eg>hKc#;1y4JxlhF(wBF{&p+)ix^!Ycp)LQ5(%oOB zt4{tmbOvRFgQ&n@Y#Q1CW4WfW(P6d92NY{ZxyU5Isp2vERqz!MtN+}&OOhmQvh4L* zoRb|=t-gs*#|~?6JN&!8rJxlYEl~0m7t- z)^&hLqLTk(KN2talV9ZxGh4!dd8F66%M@Y-75iMlAf}t?ajMxR{SU8P@z+s=cbKW$kw8PTk|bA8c?^ zh`HxCp?6ZKPYly1gmz=YXTkI0%b@XMKfH+BiGKx$d=rp_@n6CGuL9=zF9Z8Xsjia^ z`Bsx31d<~1NnaB>*M@aVR-+VGg-w@-(JEgbRhn>ZsNh`iOwYWip0XsjtNlP<5x(Dm#TRXH)_48~-|S zE;+izc_`65s~(Wf#rPf&@uj-Nmsk4M6~4ThH?Xep<#jC8a$nx;tDF4%b&V)C03EE~ zl3}xvJvTJUTN~9ajq-NZN~@pDT%D!ucnJ`uK44;!qtK>JvhBd}uEV z+5V#s0=qVkpc`*#xZ&xc{!N%Y1@-}PR=5Lu+=X;gIn=J|hZU0Bq}C+2QJ+=hm$)d@ zzbeir6-q#=Z!7i@#CORf8~meLs$-xRHp}B1unM2jF#K&pN{WB@TYL!9m-wf@HOo@S z2XCkS0D_d_O@At1nJT2Ch+6)MAARgsSNZByU&V9HJhE5&wx0hUnUJF>`kSBPm(nc% z3b7kOe{cIcyywr(wdK7-=G8|!+?Ndq4`XP?1M(%os}NAt5ev}Iz|v?E(zVEsjWo9z zrh|_Z4gM4(WfO;=V{pvL)xnz}<9a*{5 zoW2&9#u$;4TQfajuDU+c<&uY(#E(17t|Nq4$H+712Md^^#DttbM|LgKhIO z(g(Pm)=$GWyTO^7?)S%AJCi73YlvJ*P9Z&o_?~s65+uc8I)GBR453d1-nM34DAa(p z4e0f=WpQF=p_{fgQXT$QHiPIyYe&`T?_k4=-)+s|=bqVt;3p|!!PiYUp*pk@QRPjl zo+Vm)s^}Jf5E&=U2bhfP_1u(1BJQv8dOGAmSS5UgSmk(g!pT8v*g}4TaX~{0mtC5K z&PBdH4xQ{qnJAmh%*h{?Yrz!UP(D(WdK+#uK{~aHXxgW7U5JqnZ3&y-6x9t{TdN)s zN$J+s_UA=gBcKhp`;e}3ZGMlg<$Lz*cl!FrG>wi%X=}o0J;oUwjY*C^UkpA$$nDsk zar4Kvj`PTZoF03$m~fpKpB;j+VdkXtM8c?!vg@8M=8j%Z&)tJp=#X>fl{VO6 z{)J+r`5WquMsKJ#(oFV-hSTAEvDt*7 zy)C1yhPO;_x5c*34qI=(--4+-))utv7%iyos1_(Dy`x@W%lSLiaE(MvV}G>6&hUic z>9|u7XBt9tqIZ>ZM|6gQF%2-5k?JQNAZ^CE?*~Z4myvaIj2Rs310>XzpCo~EBZtZw z&R|PiT>TyZg;a%1`oGfA80F%Ys(3E6ppd@N7dQCMNA5^h`>`uOckRzy`K9Sl|K-YW zSgLPbxmc?s@x#c#%?F`SpV1|LO?*E!hQiUtXDy)np4gIj5{ z*yM8zZbVd*n`GkXG!Ej|l7+t}v6#P_Ouvz|UQbSb17C}HGkNIWlfFy9lCkgXh3c?3 z9iETpfc|Wre1P;Z#>iyL(=qY2foL&emnA1-PdqesA}qt8uvD~@e}a3wpDcV}?(uFi z{bABtot*rkxyL_}2Y-@>7rc+YU$*GgYajEFoRF-)=PT(WBMBxJI{4o_hp8`wL-H2n__}rL~?tqAA zo$>YrT)I;41fYVr6mz>Lg&pOc>EMdSQvbzK>C&RK{cUQ-t&x38G_)+uqku1fqh^f0 zB&{z^L*fsiYxp`wHfLqv{Uz|84T?Regj5ov_SB5`50~l$A}vY+Pi9z&qdV0Ex2U5J zPw7wKfKU_kWqt{;d+SSBHLabO}jo)%Om-D zQhk=x{C37Q!F~B)w8f*O?KPkqaYr9#smXU1}eji15 zS|bYKT~_!&bfv)Dk7@qiNZb>xyCNz*9O+x5wXUL8K*$tBa`3DgOe*~X4ady+KzQvX zQaPcRZa=Noy*L!_rsv!m>06>H*GGXn3yEJ$` z2yPC7#$c>&3`u|*K$XbgY1E9P6sEj?0EUsT7#ZSGBa18o=0kHstT6m21Qo>cOWpYY zm}1lUk_JwvaU;ni*>C?^?~2ymDI0%JAJL&qCI6+FoAU6{J{ zIvAI*XON$xaC|Bx+yrsrP#{AuMC&{g!ItCrFGs0oBKzqm`AQT8t!si4?=c^Eulitw7PhnM zwDyvnW~izH3BeI7Z)9LP5u68ufGhUJ2-XD1&?axh&OG!};;`5Q{U#o09vZ5hvms&4 zgw_|)hF?X*-}0QKO(FwI6nzl+??;0lL_|OTGx9!&?DwPOr%~iq38S<*JMP&x<8h8O zV)EYgXWGb`p|)}s$^jGB*-ZaV`VO(ZJcC|-BH^i%`S573uwfYIM^f#bfb-cUM}$ch zKLioS5?MaicCT^D*E(aaaayi(hR$Ov_`Y2T#=zK@u$Z{BlzU+Fqo1FQ2f2|!Id)cN zkxebt42dFA%;N$nrVLw#)r;GO)^2;)T7^T9JhlPfO`;6t6HCyLG9O#kN0$A%rT=bu z*Wek&xk{|74KS!%+Go<&5CLm#V6Pk2{5xgx99ce1j<~Vk86neH%K~0A$*^hk#$poa z5@#VGDS(hNBzla*Vup_9Etw!_CULH!_a%>XUrcY|YB)N8v4njl4BWgM?ld57aumR_ zK4(y^75#AQIJK6-+F+D!22FF^5M_x4$H5g=oMO+SfDWXSr}rTojNI7H6x#%hP-(5f zMS>8i#zc6bNc`FOrhLpo-@PpMoz`p%7;GwYoSW_xE|rl#!U1ZSD=ri#8L;Ptf{-#l z;grR>h=7S7mETeBKS;jjf2bxs0O!Sy_bc~zD!LzJ-@s}GGQdaxQ|OY0nLLc(1C$A0 z&SbgX2x~8yB4PkRE6s2c>CZ7mDdTsaak7|RO)dCk;I(zOgSq(^A3@yrH@d?Lb+*rFq=`D2=|bausP3CyI8 zQZ%1uM+CDtrf&-_*2YCCmMyIvz!w1kM*cIB+RyAo(wUPuP5$4nY3j;8aaB11)I)C~ zyb(T7S!T?&Q7Dv5rv3cZ#F-^aG+T53`P_e7CU~UHt!G>Nqt~#{+;>m=8mcb+?QQZ~ zARgi8GVuy!7^w&FQOV>QG5unL?1&ia=GS{7kd@1Y>88rWe6Aq=kdirUIZ#7lHvmA8 zy#y&ZiMN;B4)}2LPP%}&XdY&<5Hx!e5R33+v$1Sl#1j;slGj^LO5SERoM-cBbACKE z(2tezc9~^?<)8&f;}mO*Rd_~p;kl8`hpWt2GWiAUTkz|3+g*OevGQedjM*^3^4O+(!iyuJQRjDo--9r3 z^BX!G&cla($iA(K@NxkbqfB;Y#%V-J*=lDy=&YPnehtR`*VG@1ZfC9<7hE6K3`FkK ze#eS^`F727{q@4Rv)0=(@r={F)bf|{ech9-S*KVXYetlb7)M6p(8t4VkT&19jJNR; z9^YWtL$Y6N$rTsw4yZ53l-!96|4}4f0et4`Npzk0Ahl+^1XL3%Zar|cZnx%AF{Eab z(@mGLGvh-zhxfEe;66%iYvmKixy|T;$;E+vRA3(+kXWh+=eNjT6pXq!(2dab2Bww( z5k_@_RY#?k1|y>ZaLX9UGy#Xw1Z#l_vZMy9uX%K6FzNQj0~pvgR?P;_H9hh61LG3m z`t$}lH3m=jHY5!@*R67j9j4vTv9WBhtB0d`ym0gAWGY&D3tROQc!7Ir>w6 zG7n@b==p|Z0Jl;TPMG+~XrLPr*?YAha0ROthmlA}PPTvMJOOA8l;=ey#(@1KEf?>hE-j(yF@Go<4u zuuq_`;yS0oRg(PfDgJZczduJ>Uxee2C;IL=dhL_lwq>qb>M}$wbD>GkAxVJJk@vX6 z(z@4-nh&_M9&&XNQ!Df^j)$W5IQ!HSX5XLOna^Th!8$&1YW>r`0YSa|#!v>XN1>WT zNn5iVV46@5xOrGuFADlqd!Bw?$X|PX;rO5s?i6HFEP1cRG40smox(J-V<(x`0xYTvEn8a7u$(;)r>?`uZ45t>kN8&b2tZ_i4P z&CblI{LI{bMyz_8w;gOtgoA5WCc7k+F2Znmf=qk~KN4EDQ+!QV-q7yr+Il0V=8sO+ z;uO5JwroRADPs>Xu^cYARVaH<9Z5ba-H^n;RyweIf*=rJbe@$~n@Je_HnQ{}odsD1 zKr0DIHBA5drM>S@5@EZ67BQ8Wq-y6V)0y~?t(f%&)=hupS-aDC%sM%-V5BjW`%R2y z1?z2*Smm`pp!M&y9nWcFPeQq?<-6MH)Rp`vMsM+K0ND1!s9?Bi{;ch%wf_hmW1W0b zM=GhG*7_MO-zT-s_h$t5pD1|}7R6_HkLnKkPX+Fn)K;(R^eQd?Wsd(y+s~P!q<&r# z+wz)D{Z-4a*;D*f(}ljkjD0UMyqQ{oHfiM<$o-yO>Vx+REK8WG8gW!p{}xggcM&_8 zA?YA%wpwW2BY4Z5n3j;gTc%ykDl=49=^+6cCfZHap_hPYpGM|wJW-W=vo|fqzSbrG4?328x^pkqS|ARoJht~+}Z%w{zcyquSm678YniAiSG`4DQ z=eGiQR*PI9>G0>J4>HYslJyJ{>pLcVQ4{AtJODS$l9L$TDM>;VT%hIncaGnKkSDAw z#%aS%WRCL*){6*KD>9!Y)-g#n!CO39h+z{efnAU){A5$0Mm&qC;4OtJ(<+g|sHdX?EXeEpoL z9}Eh{pQJz4&7X0>?0;PF22a1}>zn+4zvP;&|K+0fT`&3ZWxv$e&n?I=?HKCBrk zCjOmi9r{e6*Va!8#=kC7^6>j?x6U|O{jP7S z_sG~g;Xn7($Gn2f_UI4lXT9(1m45w9(fNvJ{aU?bwx}0;?^8@Tsf-ITWDcpY{D24^ z69GP5rwO}s@F;54_zu;L7OpW@+#u8eYETW>Py6Z_98(IKI$Ku{#v?OfX?a)(LaL0GZo$AyZ8F?1>bqf*AM#nl|DU5RzL0QXMFvFukZIAg1@mK z>stv!iSG0D3SYhi8NTjbVDvs*k>p3Tu@>k+WxNmY^}-5E7~DQbia_W`q2v0vn**Kn_(N5KX^mY|b7f zGKK6#B5alez&E*cFX@7>X-FjYK{0Ko6&k%EB4GqkR47j^bINjm#EIGocxVOthjK@|7}>LJfS-fq0iiyd6|zIqthmM;5HU-A4gm+lrlZwSkXqlc{~@U)0Rffgtx+c!-6QV z92B!Xu-TRC?blMvZE?MwiRYzwzDz8K!8ClG+l9h$TUmS6|Zd_5*Pk|+c#vL z!#+0j+~i|x0z43G4Eo7Yc0Z;Y+HvUPD=Jt+B&uMv0;V` z%l`~aIoo`{k&fxF0Z0iwDkU`LVKdt5ku4f_0NtHK0?l^mB?eES@q7k27wcc@hgUd; zguqaXI`xCAyb;h}uoaETUq-$%>hGl7G`xN%hjbU<)#d~P6{uW@ z*9qkX%D&IDp7Qi5z*1_MECGgMXN=r}v$4sS_m_|k_QTMw(1GPx!7?+zg!6LPa)u?V5qAX4!HLBu=g zmBzwU?Dw44Yjr_Z_KI}w3&bIb1X^Q;CpQAEk@n-h0;Q8tD6VH^pgv~J^c8d~*t@hn z$yp;r#79F?u8l?wI)$U-wH#|hUIc`3C{;`D1En!x{OQ+49x0{dVnj=p8%ny^BpaE} zE$IBT97%7{dKG51Y^tGAH#Ert^NlMyl@0C6R1gb|peGJNNWWe@L?jW>=Q}MoMzNP= z;=^Lt@H{B_l zsQpi3le|BfuBrOsfYwwSyv_V2OEi@~|kOnPw>$p8VNN|C4w?M zQyCpDGQ7&D{a|j1_9WXa!>t<9Ye9@7qj7pXEfr>vA_Jbu5>BRX>a9~Xz80-p+k$qh zfjsFr1u<6fO{oj-1I)<+!a?B@_TPng7iS603K=xsf+hcbw)B6$B|d&+?+2o``iJWu ziD-KwCZ)GOs7X_ye;cuz3jKCmch990#RLagrZ*~_DSN5mB`=?ynwgZnpYqQYitEc! zr9#6zIjS+$uz|HnW{3Q!R+N!m05ONzwqy_VHO%?-(=~d@ap(W z1PtG3#*0Z|94!`UhAu3wH(}z#I^P}7bA}nSwp=DYkY)1TrqPlJo)5PH_6p{fFx7l6 zZ)`5cl=XA$omUZ3xBQH?t8R(U`kFbLwj6^}?F2 zraN?2>$p|_m$DR0LpK~sO-OR!utm7C)n#q0u9TRw)hul?Y%MnIClLeX%LLAD6*-I`P#H%7CPi_F{rP?AF|`c(q@c zQpi^6Xv_Q63j{ADeZ}_$Vn$f}ba#n#%A7duzm~`rl*lC_@A&tM;yps&E^=5_qC!3x zDTb@vdNCkppp&iRTqk7J9TS(swyE*S6p;My%Awu5N~nvZx*yIFy{G&0L}C$sOjP*> zay6C3qgX>I4aTzWZ(Qi zB-7QDf%sC7(v@h^Qrf5sNbfI#kT^fzQ24V*9%c9xPXY;~j*-D}vhuA6KjfNmyL(0v zs864<*s$SFhqk>f&Llg^Wq%jKR|Eaidg2f<7sjbXViRhG(XHXmHI0vmNy?!>kXJJz zQGnwux#W+j%WQFL+$vXowQjm+FEOJp*I-pVr^y(K=gjau6d zoX_St5SGkdG6(tyJt5bKpY>rSb~ev?uz@d{dy)lGv2T<$(|Qs1+C*Y6s^ne9a{H7# z*?Uror|>8}DR)okGlImmYS{1dki=c*0qz+B0Lfo1W68V-`P_0O?~yfaw@UGvOuZwM z4fgo@5s1#mD}1LzEoywK3M(DmkA?ovD-j><%5jx+nHK@`Z=l@Wm7XRrO~&(#dABi) zR04bmf+v9wuq*bqTUBV<#SV!@*8lk$va-nD z>|2xX3YN8+JXi3Zo{C)XeIw9Ow`zNVZuld?hcge=hi`~ zm_%*LD9)T|T_&tQB+aM+R^cZ3qzRYreA1NUtt#<}-Nlf55Vp%E975}0kITYE-Kj>( zapg!kl9}kIlw$-3BzwB71@aal;M=V%v))omExF9fEVaZkYapJFiRTvt@!~kKlz?P? zR5o#=Gn3&15{vCCyUX2Lc6XWwYhioV#`QMEZefhyW4rNFy9TfaMpilbDko)-W46B2DeM;P4p1F%f_T7*?zh$N;Iz-&?Bqk(MEqew zxBDFN%IEA1oTg}WcIy|(d5n~#*1cq6Z?c;?y zL8y41ls1X2Fc83Rrk{4~RgQkaNxk8S6|(UvFMgyC9l6@c!%6K_-sTY%hrEh=Ab7&D zA9sQkPIR9WobDhk9P0#&QDMV*d(`X5aT)3e00DBt-YjGZh{iVVIKl+0nCP58OF0X^ zJt$<>u{V_@Kt4i1&@{p1nCJAF)|tXOL8=AT{mDdPPg)}4D6vlD0isvvbJx)ol6hyn z1%8tU*hT~*i&LIN4j6XJd>k@eb4FKk?Nnp(EXej{HZwgR0mkdf-6o1rT1Arzqj72# zFdkfigWgUWK73F>qM^|x8$`B}snARn+d9b38WbX!q1mH%8Hl@DA_NUXk6 zC;sjdZYGdJy{M@1whU-uCR%5S%34moNC3b|vV1(FOP8vuqFeS*+l}<`q$}1no!Ktd1bLPv50l+; zi3r$f@K}$!iNpygPtcLvV@Tg$RoF5gH_yFFEr@ZECwTE?rH(fSQSrEv7)yurZH4S?)<(JzUg=wA@QG3%t-I zlQqxyTVKpHz=Z|GL((JMC-}%DKaf1y@xq*#u6GL@4w0yk?`Z)@w)ml1Vy{->Lp3Iz z&x_}$x$$DBcpk1+AYETgCH~4|$59&pbR8&5UUQ3Yxk=3F#wCPB>R4@mV^vU=OXX_P z4~t^DeUG%?kW3*&}(l5Q9N;kvR|mre7&Oc&19&hfYg;=PN_-p}01m#*2HI!9+0 zX#!wq?q}-U8JZy1Gz8oi>)b^;`Gcna6+scw`%-#eNc$^UI7g{-Rk&RLp#5K|tHM1; zH=eHxwErXpzwXl-A`R32AH_F9*b#0c@wiULt-tJKey_DN1y)b3p24kBqtFM?WW+|T zS9#{FX2)KsD=+EXy~c%dgVxvT;4YmtjrBNPJW_`rK|2_Kl;cu-6e`Z{)&N*ihc3Ip z?Q_5bmArLmq^jy1;t=LLL+%QYqa`;U>--Rc0A~-;BISJwF`1O+M-Pn!$RPsMkV`GmE>GPmQWPaxd{8Ns0KOA5j0j@ZJz6KP62D4Nd-Y; z&GqCPbEk=7N)}3MHzcw6^;R}+P?c9iQ>z*vTo^BS#V2AUz@AgYK|F_1Wa0Y)j6h|l zJj53`fHr`uY$W^?&|oYAZ5>NMtC4^Zgzi@HVkn+Zc#_<0 z`dOFc6mz8KB~hNEe^||*TF#rEz0y;^@!bE=J)pk2(ChI%R9gMDNBw)zOa8^Pt^B8+ z?ua@o!hPGTychpYO;MlkXBPnZ(A#qGpZs$EQ(_J0gkCw>R`7 zFUhB!#PlZ-Hpp}`i=DTEWu%23Z4=7mLb>S$hSuXP5ieep@nUQ|2OYgdLOr& zzhB66{KENuyBXAs5#>HVyw%U%;?qX&^^5oT-kpBfu|>Tc{%TVWULtX|uzt;8w7@z@ z?T%Hn;IV%Uj>bo&$tniyotpi_La3`F4Jc<*aVaiqMnNZ=qS7 zZO1xAKGrF&5DmIAo9S5dV`E};F_c$E^P8-BE0SGOz2G*!=sKeL;n02rG==RZe`ic~ zA7WFqNg@AesCyVl?g}e!{a_2OOL&P$9l>y3u_WB5KF8i2QYHc>q>yaMN&BvFl;hnV z%G*Ng_OOIi0Dt;-M+HIZUm@ztNy+HMq&^}UjvdifZnEpz%5Q}AD+pzrD+R<$nYykr z6rm{Fo}z}8K<*Z9*YIe-B@R>GX7)3f1-8B z@~e(m<@`FHAL+!41LFBI882S91Xo?MeN+q@Jsn;e^lw#`+2YCc|#)h1{CDn2}UijqSlJeSAdp1wk+S+Tsmc&frw=}p*l7(#oz&nH+ zH)6ZMCFx`lJv!7(J<|TkR$?`12;X$Uz9Us|?B`R(Hg!uXxH-k$8%abY zqYCxt$9nG~d1DzyGa9obUKq#^G{I!){exdaLl~C5;RA!C1#oeFJ=E2hSFyVp)^?cT zTdp@ZKT4RprwGKeE8!X9Cv|~vRk7|lK37`XlYit|VRtxx74j9Ko|p9Ked;pd9|g`f zSSnHvh~#A4;vrb)Ntvreez&xvxXeuJx6(R8tC`lxVIr{(iZ6npnGg;?7f67Xfw~zt zoI60y&HAq~CIX0Iy&+CpISw}kyrme2{MQM(?^CZ0;q{0msVH1{|%t=~$upvL$06UM->y=AGpp@8^d5GgQ| z$S%2|T+rNI{oyw9b0$NdW|8tN{jtgLdURS>l&_nNBO}?BlEYc?EkPEQC289@2vSKa z`;U~nDm4*GH0^;AM5;{l{hm$d{*n$JNs|E(E6HX*?%sW^iQ%v}9lt&uWH~VCdHlC@ z)esquP3f7FyN5dvL%}9neNJ_D_uS@@wO*%r!|u(hBWvwW^VZ!vtXYe6fYUp)?e$s< zBii3~z{~y?)iuBirG*#)H5Kzk(k|)?2rD2f)PdF?h5RLQ@L^bVf9aK+U&?u2$>R#W z00iE~em#>1F_^7qP049>7>@r5;GVZbr^(@1J`?V;%7ww7vKIv6!r)Z*f`Crp&4$EN z(b)Ycl?RY0^k36SuO)2RO5YLbchY(Ro3@9KlL(ft(s~2dN?xd^H6m(b=?Aptj45}4 z`*=4kN=*&!d+CnBXt(aQyJhCoDEWL^4JV7yWf5b`Nl_${CPwS+L zxI8LwpC1J`ahD1~Ej;&~k-RJ_UmoS|h}4}?L5{sE(oaN%$Kxm3J#`01<_T6gNdGKI z`qxC|JLBIrRCt?!J<`B`a3AiU8nj2-#|dbUiaAvJNVhkY8|`Q-*#Z0>2wwMa{Z#|q2Dp}2-+E9q8sv)cm`!>Qyt2J!+H#e7gKjeJaR4!;WoL}bAF zjHZOnw8G|~0=@YAu8}G)mq?Yzh@FTYJBYZ}|c1l!xu0(Tb= zBe|@NHZX8fJ}hvFs+4W&*4!80F5zk~Yssvg&R5q>@jmW1T0JcuMs= ziFICo;U&Jx4pV`&T$b7Us zDX&j9%iL$ABdL9ks*;xL;`pC}e%eHg#AqjbQ#N~LR=t*q{@c|)%8XUDu_LO=r53o;yQ_+BnSt~(W;etgl!;gjXnw-Do;S+KoH zdys5^kC0svNMN*Pr)N;l&~m<)M5S4wejd-i5%;Mr5@W7Tbv1TR>TZi5+ahpT2x=-?0>76dsZ=`#sP-l<}OnS%S3WEgN_D@kZo(F1e zm2agFaNrb)&Ji##XZ&z7Ae*W1$)5t*4}?dqy|2B{*?GN#)nhO+sV2L}-dybmUuH?~ z9GyZhsNHaX(t%jc-o+ODL%uyZ*xW`*b5I7BFnl@-b7uR1-q?;v-pNbpyy}MjgI}zX zD3rAUpcKCmSmVhP=h(y1G%3eaXjC``NCCE~w@i2g8Y~T1!TzT4&IJ8BKt6^dp2H$N z_~`Z*q<(`eI%W;e^AFZ^M;8fnFgg2?8Xfv)3H`3HPf*d3&@=_NC%S!HCrVZX`A~wFs2j#Y&tat+Oq;ue?OM z2l?BP+XKe1)FjnnbO4j>dK39kN)RNSc#_XZgEc`oChb;9ykkINvzc0%t}temh{ib) zb61MIN@=wh$C>DAu-4}TuLf)VV14mN7Sj`Bwgu6vyDHs!(B5)l_cmp#^oHm2Z1cAAq*ZaRQBd40b=BL zc`V!U79+rJqV^^6j75rBnWGzNo}8x;Vs-R3AEs3-RL5a3mZXcVs>!6e++Xf4aedyP z0INFY&@t8&d6~)e`n4lAPb9Xb+tFA7sXAh!*v7H!&9#dW!4UoOWOQms$nMw>jgSt0 zLyuxLecM&_zU>_UNwr5}%qwo!sP21gXaeU9>b_*Z?n3NqsWjW;49d^Ik14mQ@GukV ztB4}hxs2?`6b25AHV*VFV~#L(Jla@Eky-<>($DOr_Jl8Q@4>7ymWPC$+?${W^5l+y zN}OtZNE=M(vnCz}9%Oq7gU|Xeo&%`pfD%IDv^9{KdZT*QIeQf6TKOwZuHw2&B(bsnJ z8(V*E2ORMkTT!Je_A;kmjF6kYJVI`|5bliGv?w+=TjSNba0VLAQsUq!h=_V%OR`fy zK?%1UKqUBSEIfQjLAJXmAN_hYyxip6TP5Sg5^p))?lGr}Y;WdD6GVEO?6P@myF1y{ zK#FnAvMXNduFblu%OE)z`ft%ZLgSb#2()&T)%H;%v9uDiSYIGErJ0pDr_! z5?^qU)0_&gcXS05LX%f2TiGIE6lp+d!BEgKwsMRJ1)~6y~92(E_tAPj%J}P<&D9o3L8rdk_ zTDGTLYv{?>l08X?Ds+tu>z@$vkP&nJaj>eog|8fSi}Rl{PC@2>?@YrHHREf?UF2rZ zaZ~O7=j4khoa*LJbCX}-_|RWD`U^*Y=@`Rvv8|=H5&W!q|3D;3iTwsY%YS z2$Gg9-pud@(n5XjAm7$H-&VN90dxLPirF0gO{fR5Iz`Un28bb&MEZgfvw40KLvy2C zYGP>a7V%<2Ja1hpH%|;M?6GT&Jq@*9UVMH}x>jIa^_(hdZ9T2EVoy-pEpavWbI(o! zJokU++JvPv*p*xyl=6GGN66dU@||uo7HXmpUUt)ecJr>dCqC|7r*5i)ZVmW^!Izl? z%bCxew#PA#Ctq}nFSx<|98b?}ir|ly*vJgRi2r+GV(zu8))v;85wKh zj31I>w?qPTd5j9^r7NFLPf&=Bk;V=OBvQ<=+fWpXH2mG@omPnJgvrA?*wG_-Kf5M- zT6n!e?cl^S(4VPSUAf9-Zm)9X3&h)$pCuwT|DaoV0(~x!eQPi>H;u$o9f%E}#679G z&DIc4c%@z_vzx7%6$qWleWH8;T6iij^I_85>_BQ@{i+3Jz%9D1J4xEunj?g zF_n}0M!Jt%>Io2*1|Gl~{a*OE72Iu&Snl4Eb;})`*nn5%LV%p?X}5lYRc1D<&uB|E zGW@u3yMSRPHmuA?O+$yK#NN2IK@}7)#4LS*5*MoJ7f^2pccz7uncDkAe^m4eo56_R zLZSLSm0A-OYR95qnB3Drfrqv3o6Siee7`C>z9@1(*0wfuy%1rI3eG!dpGbr0l zB18zqW2DcHpf4ut4kVZmX4XMySWDg!0x~3#nw}g$*~mqG=`j(^S;)L*&?5|qq3!Y@ z9@I``Y~w54Dn@FYnyLC#Uw{8-YMi3x?bYMgCim(7)7_q8?HJkT_wScj=|S&&l3*w} zUX%}r_6QNJ1E=Ew&(zAtZ1JF{zEtX7e1Ajx>TX-zWv3sr zBSZG}Y9_CGz94|}Nrk&CY z*MnjZ3*hc5kj$5g-SWGarQDSF+{bRVbD@4@leEmdQ1%yec?V)v9*&e_|9T%W?CnU-u}L-ANyy_Sd`U@#rLdzE1`oJ4gr5 z+5Yc|z8v|ycO~ne_kZO3QtV?rq~s%l)Xo5u4sw5r-pFCy)(q&-_k{y|nL6<};m6RGoXE@53QMJ2M|`g?vukC-+PY{z=eaE)zXDy5h##A&Ikt zpJ9$5vIZ0uTzwsn!m}E=Ntt)nbx4mb?DItKe4H^zK39mwt3}i?BGJ97#4e^cJsRj4 zUcg_=&Ak#Hw^)XoYrTdShuk+E0;ENbvT3w|rdB?5Pj*+k;zKvT+La%=E%E$|hIrE@ zdbPV-VsKVZGtIZ7Hm8RM8n^#)ZCcMjZEv3T4$-4(Uy7bo?ORC~Fv#v_WX~A-0#&nm zM%89Arc9;tEillWB&c*xNXFV*1)Gv=ia6&k(KB3YCiD4VPkXIDJ~mflkZ#~2!?nj` zPpx*I>=|1dqV7&&#pbpF!&Jbff64%!>}jf1Ir4VNjt&kmT}%Brt6a||JAX*aW!vn%a$}jolGlP`V?j+9v@fvp>XNG#7 zUSIF8TO!|FUr$M6>L#niF+n5DhW~3{F5b7*C4ss$i1@v^8jAr;4o!_VivIo3p2FA& zTBA%_eC?+e1(|!rwEcHKAeyJv*P91~tf)iu4w;rbL1qU0{;xI#S?8R85L$x@x{t40}_F+@0E*DW-ss&TC z@?Q&DSJXFXhn7^WWzqx(Xh=%KLsy6AsH5LEJT*ojPs zN2~cR68#&xeKQ!raR6=inHitbCgMQ`yJxU*#VU zho8c`Wtiql&{A*9*;#Aat6|B>tYS8!xwYlH=e6vQxnuJ4uvrv?(tK<&o=@%06k=j8_2wJ24 z?c=d>%R80awa{KZLX^517K#IjdpT1zj%nG?pevf%Hq&RxruiMCJ1DSKE2Ab8N>@r{6KDJrKQ-{um17Taf5F?-+`KDEeKqCWO zKp-#dJWf5M$<>GeQ9bxCx#C2j@1Yi?u1G;{(m--fFva&NscFzow zMs8=wF8Ukg`ezdPS$hqF89&(yjxhB1+kEw58w=TS^UVUQvYR}=1Lv)u%8fm~{l9oG1s?%G6rYg+Ci3Srsx zor1}OV1APvtw78Q>xk-QkssSVVLhZbEeD)QuxMr1N+01tbMvqXXmOW%_7X2V(PT<7 zEn`Jg4{QTBJ6moF5Tzg=R1&-B0rDCchUGtzcdgCEzShJFXN<-EdrOo^9BYUY?-y2^ z{E3|GekCx!Xu@_!#fE;~0&7+|UW>po7`pqHUBiqNxQNstnHTwX?qZ_m#WFV&&p(s# zVp=?ZEce50`K7L0bJ%jR)U74@FLe31CBEIJ9mF+sbaiGr#;_dS8Fb8Knd;n?Z`{Z< zo6jjba-FwkIzg9jt9WbyAbU~jQ&Ik>unC{&mhEHpxw8B=ua(UVPgwg1H}x%%=-Ce(TGQLk zrkBXfDv9yc*kz*UIbXcQ??Qv?X5NsLEm$bCXQfo_dWn7R-2FU71R z9`Om~jqOd!>;5|05&!CFD3qkN$9b~*axyt>E2(|?2JpMlA7u9v2ts&cY0$Y!tr%Ed zg=S017}6empdHj@IxC^vbPy z?qPYpkUuhUP*;lPPYD2by8uXXo3TJV{w&dRz9gjQLYHb?Lb2PFao$+LXpDA-xXS{5 zu0Uh*VVH`yCIf4xlG#*dSE3yonPz8+#>wU~w=##4(p2=Qm?;gE#}nKn$xJU(gZGPp zAWDaBI-N0`eztfhW(o9aLk=*QS^R6yaK9LxYR@@Iz ze@0?ztj7|o<3eRg=VPj~(QNtu-%D)fY%`7ygL5~(G3bwML)Df7n9l#7R|D;x0CUM* za0r=ytNw&*p6k13z?eF+?FUa7KizlFXY7x5;%K7M{=Z($+ye{Z$Q|m}liMdu+8|RP z^%uwHY#wE#h|C`IZ;DIt03JmocTU`m?cn=Ua9FTr%HJF|a*D;65ts4ENwNf6g)ARhakW7~_V(5kX)LE?Tzye^~Ma{Bx~( zeKGH9uFqBDQu?>2Nl0sv*z7RgdTR(gaI4aSyNQd6rlxfw+$hnKMNRV*P7ezkl1Vae zSmQC^ZJY=#)G;D4oHy;Re%eGZsQ#J&thG&VWWulZ zpbcLrF0Mz0CF97j>;>#heIXJv20++V(*;XmY`|T{K<)cUIA(p&(PVQ9xQ1!k4;%7o z^vR_HoNyUQo$bw#Q759U64gA0Ij|3jL={7GhKJi^tBu7b>5Y36(Lk-GXM@C$N$2Sg zw@k^SnZ#F=a3~n@0)47QQ80N1fZvrTxKM9YA|M>>7W${;skpue?k+>1} z7gU$RkV&SU&NYeTju=TKHxVp$)v)*W)cMPn$)oGm;1^VE2VO6ppN?s`mdL*@I$JuL zlRYU0AaXDO;_C#M(km>GJT}Zeif|VL?p3@}1(V>68OBan9E;C5pDrSwr<0sBp=E4S zlUQl>yZ}X5Y6tr#wqMvmZC`;Aza6wFVGBBCiFfSTQoU-I-m=o8!NvEe+pKhV;XOO~ zfpJW%me#v=?nc{w()L^IosogMR4rykl)3hXHl&AI4BvjJ(roceeIt?m_)D9WRyKLyTsjvgXY-y%U}T*U`_ z9Sgi@wt5(iojKtC)3`wCL%dE51Qbb-!#U9fq4PRSS!`E>Q6+6+uRauC%GH7-s-KH^ z5ybPB)sPkDN8^SvS(Ycuc@$~AXnz4&mPmG_He}n$@;p6z08>qB{IeR zrAaDSG;DokHQQLVe`b2fc>_9OZJ!u2-4oCYd!%n|6{gQIeJfmY6NQ2DtPqFeAi$F-m7J-$2 zMU3Ds-qCg3#W^NA35GLTsIv5h4jGl{oiZxd zYm;qkvr&V+J)^>2Ici*QW|ZBV8xD-rMI!S%q~#oL$+RtW+knW z&)KpeUgK9B{h-tj$=qwwxkl-0m3@`utF}vds-4_HV7|Y^x>N5)?lsI1_B77Fllz`#YCg;q{he4kt2pBeR`s=Q4G?WuHJu zD&o`0R{9je(lO=97AKzzaB39=IJM_6Q5G-d>%?98XFg6Wlnrt`JZLJ+w&IV%+7$j+ zuzU8$%Kx#)fny-_*&d=$aU%6*h?W5!1njGly>{6_ma$qeo*7*~=Q(^W;BTVStjF85 zhy4K*f$&=m3*2`{Wr!Dx6BTFqwrP(<>rIe7^!RIehvYF06sE+1r;*r9_7uHRPeTZl zzn9?J43?}MStsz&w%I$yrv8_l`=nSQhkr1icOTwp=ObrSOK%$!0pK%+U@{+cJgX_n z5b9WIr2=+B!Hb!r8Pjnrm^E{7{@_$HQ6)&(?>6Ipf_A=VRk7qvH9)_2Dr2gM+56MtX2AxB46U z{vdeaCnZ|tb7t_H6k$vc^=$1JnhL6A8A-IcDl=I?nB+b4Ntlt5qx=eEKHeuE?x-YT zT(mR0VozwpafeyIuW{!FA|0Ku0kaeG3IN>JN~Ii>z4GCrWxxE-4C_SMsrX4K!R;tb zUp*!_8H*%w!Azl5eNDFf-5g`3M#C87ahX<^7*`4~2q%tsRF5&0k>cB%sAN)qG+D0; zF4}Ec|+%(~A zOGZz|R&QVM4TJb9<2BLj-X{{5tF5G>#jKH$Xg}0ePfnGdlYc~YO8a4Y0ThRaW$=je z-C++q%}*gD_S(%}$z&upQqieaJ>rL`&UNT;hvY8+=x-RXw;QwixmFCPieYw9PX?4rJEG+2T0O1Hxb}_fNNF)sHWS*PyI0n;cW=Qwa;Xa#70Y_*so%Q_?w+{McXriq zifXKmi}l7Cv|GSfPf}^|mA7aF)o2|S7CUNf zuhFuGpMgIefFFhQl!?~Sb?8wbjz1R#|6Z^xJzYVv)KSQoOCp=Gey=h>g*9rQ)e7e$ zd#+ZySy?RYzKjiG7Sm6$E$x7r8ub*Q+f1B&2%XcTj2^o>TeXs^ss~WYlfD&(?)=w0ov;rI$o`&3I^@=Z-_))_)eumE@nqg&)qk zHj3{ddFS5q*ev3(>krC5Q_H(&g3zYULU|p4l1yUQL|_=q4a>Lc`t2I^oMJ0MKO1!Y z7rK6zZmN#clK|?CztZ)m@K#pd6mFUH`gbvflwN;FVF<1FK^<*#VjL%ejgz|vExHTO zz{h#h3kgCj^MfAz48M&f6AB=LM~ml>q}l~-MC0&*#aKKhif2Wn>_m8Ck%fK>uku`p zpJ(wHI@LZ?;e-E9(J{D0Ve+z2q{7an_N$J1%^5VuZ=}rW7Hv+Sf7O|8WuM01!nhTx zv#q0r21Zd|tcb+LK3o>~`7K=G!wm!&PfhF_t0fSY=xGjhp=g`RIxTJ=c{}P%=|a+U zVRtlSahQWY1}-Kdx_Q~QPIR^aAxF~~H$b>r(%bz-H~v*uy#VB-nrd*y-EFtsZnxZK z*DtaAmiep~=orwrU|XFj-1e3IV&2U+|ItqV$tE^*?0ZmLv{h?p{l(7IvXTznsTFlq z9Bry;V8C|wpY6sM2rXudb2k|?#IF<5%=Go0JEqrB9JGH45^LJ~bX+O-o8WZ=(vcswnO&@FVZPZ4d{Vpf-1$+wQs zX1D1f^BQH^ntsbB9L8HhBoZiOk-kC^9F5Vqg}4d4RMxqTFy&pN^!~!1{<-lb`03m> z#r{HXu?;K0^c2+a@sM?k(x1_7SRs*jFD#C4VA1omqVFNI+w2zB!7FjPMM+`@pc&$( zhoePYwhWDzL^o!_Sm!ZJWiaD-P9{2Ts3jB_Z$?)ot_EH=Jv1FAMz&8n2W!?AviS9WN`z-`Fu229}4-#~#5w=MPrtdl0;ptOBz zr`OJwnt;-CvH)(9w9ztZh=AG?ksp_>^nSqSHq~i=orpNH2-TcE{a5&QH)wsB5R^K# zP8}@Hzp~@;ZuD{MbgxT0|8P21xUG0PhYcY-f=`9qu|)(>ZIF9qoL%7WEc}JIS2@pl zM68Pc9-d}BLNJQ#TSO8EFcL|EnWsa*h#fF}&MuB>2h=?ETbSI59)^RT+A2X{AF8%D zme9L9+aqw$jrsl}(e}VqARk?nX0lEvhWx?JUilUe#n7Vh0T+841Q7Pn8yv$SE?4Ps z?u5_NDa`2AppBhgU!nCZzPPDNx(XN4B>sdpI(_ru1e@HC4w^&K`OgAyE*C)`Bq$< zwI^^%(cK~V9C{eyAvFnVlk|f#6BEx#Og=kdpOeVz)>9IVCnww!#ND`oLFv%JFpObM0-b{cAzs>)2(2`v(yLf%?({pbz)PeQ?#x|4>u#u0is0;;91Tk!eoVit^aQ=o zo$4>Z{oi#85%1BW6k8!Au-)cOg%Uz0HbHO0oz3;&IDRkin~_Dz#ReDizW5 zTc^@%(J0M+js@=^>rKB8l8k=JPSC}({rW1xGnWfP(c|um^hW!fnKTQ5=~CMyDR3vo z6Tbk7`y9jkAU<%9S`pl>(w6f?0!I{eSgGyg-WTotBhs^yDQk^A9q_Re^u$iyICm$1 z9KKG*C3gwNr7u_crrd$&>*^-;dCha$C)7LpI_lkhUG<*+arLv@zBAqWIbPq{Ui~6( z*2{5lmLuSb?ZCeK(B4V9n?j7!+o=V3FERx(@;#C9_3>VK4%3m$k3c$5BXbGzGuK|= z&2<;}a}x_d{T2jUrVq{TP)O*>$OJbsazT*|CUEN#eC4QvB)nw^4dpgA=ikwrF{uzIjkIayCXL8nfHH6ffhfuxm99JQTB_+!rn=U8~V&cdp0bmTpD6MTAs@yn`b(10pqtmZpcqiD+-mtg=n;wiF^C z&^+MCMyQLUwyp;lrjAoUL4pN3osCtGUlfSL#5h^pqo|qA!K#-SgGgu?v7W@VXk{=> zcF{k490|X-091OFeTrUbPq)6QdyvZKof#}-XDP{0@XH1C?Tyj6{H*f@Jzg^Dfproo zjo%lF3HnyDusHWCmQ+Hz;Tvc4eu(u0y#TNzVHA?O4{!z>etSFXF2y^O54Yz8pfG-y zPm&X||5N0AqOt+so`XX<*zq2$?unHW%(I-JvQjnzsT$lDH&Ktlg_jT-=%v~(!Lhv` z?2o~PB@WdFnMFaxOA=)$EoL2$!akJXEY3~ZItv-gbggdHIaW?^rJDdoTZ`aaJ}?*L z=A1~PMFg$wZ0`3v?=csT)>E*3p+}FnKp(D-C>%b`>TcCdSz;@pAO(o<+=g1MLl+v8 zO^X{#b=-I*h%(SXzvqwp((li{RPXz0^sGZ%#kvEVSmT8d{%7KyMAz7PsP z$0IvHEGqo>lcYljaCo2w8mFWzr;X4PDwv&41&!&H)mhVt)AjUIv^rJKK8a;eH-1T& zjMAS1JSyy6=4%!%JLS``?jkwv^6Jfez#=a{XH#;48lO3 z6^=n=yA9-d-mzZ)Fvx@Fb;s+CU=LA`LfF&jv~+9``Xq;;&yCIy^tn!{CC;%C^zlYR zpU0K=2G)`W`rKomFP?zzfuy_}AmseXX2t4(lO6)1ETG6aOJzntqx+({^H~Sw#66)m zhCtFy;Oxjv{uGKzCaexY5@v0ipi+_->5eW2( zvN0L`KS5>k?Fi z1W*IJzD*2Okc|j>oec?Kpw}iFfL;c!Qs89KD-bB6*(&3mxAPwV!fo&N)jj?r9e4X_ zOP_b7^%%~HkfEA+5&{TcrWe;-joesgj@HNgv(15g`yc&Zqcs1piAVn5s8~ie@DJq& zn)E;UU%w6`>mzBvAu*7!qcBiHc%Q%p)GZ8P5iny~06i50K*cd+nBo<)8GRnw3;u^I z8d=C#S%6LzjSV1*Au3K)JTTWRRUh_TbeGVFkz96z+}mFtWVA>2B)yM5fMQBnqh2B{ zxl?Wf*|3zLw`{zmg})p6&2X=7=oe@O4AqKyhxG$D0fQBwI#hQ)X6yWmP6Q=iJ|cpW z%kNQWWK7()ZtdKT5w)*d!FXM`=Y%bWP+^S%{Xmh~LoXBYOwvm=SFw?ZG+N=@n}}Zf z>n=SH?GMaU1mRd z2{kGkJ9Ar;B|{4%*jGWD60hKxm_y{=FRb4T0+#?R-oh z3(I&}avx`cKE^2tklh@Yv$^%0%m zQ1jSp?2jrAALC|;^Sg2(Pp2J@6+|1xyuylGZQ_XY`H?Y9g}ryQ;;E)D5J>r(Ak7ebwRdqd*q`APMGLa zt4)1zuAO%ef#Fl}`;Zzn!9nzq+@c~%H|5g2)6HZJ(5UH7bUCO(_hyp0aYz;gBX}wi ziXict_^xfw@Fu!tOzj476vhjk&O#WAO!*yeOcc(Z0M_FRh_ zIOp5gBe@4ceEw3C_ymckZ0nZ9Ozj?BJEomTu)0wFV)D@5ie2kCBs1tv$vKdxkSOsM zoT27kD!`l}Nwfnym4Z7pa_6qYUa)zqTz>@L?amJ{#dl|CwuP;*rMpEp`Jrp$uLCLo zTn|Yeib53O`@}_dBe5;?G<$Y(unQJ0pl4QQ2xWb^fT20$4Wy(B*J<-9g474y83agKBIr3_0Hl4cBZol?qRF;U04*KW`pc& zB3-l-1L8n(X6bH3^{>-y$2Y(yAdF~hki$2@`v=Aga(KH94!*=6NX=WKQToZIQXAD% zgLse0>2xYJZ^Gu|Cq~F&8)R@nwSgQqA|k3ojaQigb@O z>bE-u81F4ACh{6n?;kR`S`MFJIkSlZwhR`?*OawvJcA>5NW*?OY{yIf zIN%iQDKGUgdp9TbxkNH&IFH2W(;@3|Ht}Qj)k|@)%maci+6Z(|ZE3(t7t24vsP{gM zA`Y@Q?ls9GfK~?WW$W1SI?0a_Q4-Nf^PkXrJ&0guZm>*t>5|GOC!OudUpcmK& zHRvy^-5dR#bjKGa9_J=l6aVU_&-Q$xR;D&dzv-pVOdymHeNbWjJ>tLuZbwM*yM*e{ z>ukv6TcV+e!Nv(neL~Ijj)pFk(1A~>^pV-el|Di+&jVNx-8p!`8P9NS)0lrO*GG1c zZ7=-TuQEx%a#I*d%8;SId%Q{Tfj~7-rPqiabmBtIIL)N5)>%RYEg$#Qa zA%*!GGqb^M&QoYZ9k*aoAG_E#Qc*S&K0u^5@6K{n~yt9RIkQ}j3f{EZ<;#eo! z#$=P#X%2hAOJRT0isT*{4ZMXcoC2)V{9XjDJG!{}%%timjM7+p#L(QVJrNV=P<@Ri zI&hsy>9bn%RJcFKxz}rN8O2!sIdHuadz!$eci1(s6%U9C3g=A(AIoRbLX${_IAk-Z zz!I>IGBE`_c~GO(c1EnH8z1$a#fh|f)O$;tQ^g$L3@;8EaqE1?Tx?^Ge+++lriX8at3$}v9SPC9y{;CjsZ?(8hktGH&i5n=3 zj+UF8w8g$#x+khB$A~C)mae7;bmvZc?~LC7r#hI%w84zKML_IpY#7$ZB8F&Y45ry{ zaJYM46i)XP1*)6yj@QtH%haMoH8>7JzL+?d&_?MUv&

    Pr+G9?cm&@#o6kU1y4ja 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

    ak#(o`B}a1?tnTA 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 x^cZD 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 z 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ⅈ3THqu!1?7C9zPILKA(~~}r~EW~FlCb<&m;KBIE?ie z=+}*FCeKhkndK8VGDfn&Bti&)nhyixIm=-UUD zY@A#nW8?};Ri#YmrO*v20sURYB0`ssA?-Av^ABYPBCRvnxoFVTv>}G=7Om(jZtHq+ zV_r}`=19^H+^!TgOQlNAYm^uozr)c_&axNiS(x}m8GHAOSPqX%r>6RPV~oe+pvFVD zB-W~*WIofyvd_Z8DPs!hC!s_0Fb=oM)TymB>!N1WNrFyQ!Qxn^un@gT`mw;rFAG8L zqj8Utli0gw>os=g{y=fVAt{A(gHry%A3A zu^@N_`jPmq6tBE3rBWp1nZ<&HM*YIP#@$pbjeagTwSaZJ6QimN)rLl~l6$nJLJ2Eo z?WCERd3)5Bk)x)l7wRUK%Jbsa#&z7J#OyH+`_Ab#Uy z#dUc(%4x!|0DAbjZ0UC#BHK-A+S^^%)oY62+;42ZM|Cuy>jn-)Ygq7Rf^h9r)OV5l zwjA}gwbz7NYbOlBm)r>y;}4Y3)uN51%-9%8k3_nTEm5l04Z#yoJMW|Dzrzr1leS*jfBZ!#Kf&xrqNp)?9tw(n;@uyP2U#H(TCt;T8Ej>f{)eQ-p;{{WPKl_ zTZS|5+URS-@qK{J_s}SZ9-REr6I~)=H_>V}G0!xL`jF-|WE_6w+`$?IcWWL!3-2{$ z=o-FqlG?$;@k%Pa>~dC{F8#;oL$FG#E-dt2plkRbmczcR)i#hYr*_SXvy^sPp}1?K z4TZXfJ+Z0!5ZtAC#5i5NZ^>R>UE-GU;-0HMFO)ic2!5m4iZLxsc8{O2wtzuLeuVU1 z#4B|jT}?rK2%7b<;JA&Pgukm73-vIL3!@>(Q5|gBq7T6@^Ge2L9Z%R!TXB$Mk)atC~CgK+`xX^JnQpaFbqQzWcI?Dh4Ll8Y1|m9+2m_?t)Hb zB{T##=(}f7SbfoUEVy0IV&xqB<9dUxi*_3Bi+Azl7F(`j-fXkxPxK zQ%8(Hht?qlINpOf!838m7E+!?IdD@un8a6gPD9h>h(^@VBl-~R(HbPyYo#YFwpaQO zrVLQD@n5Uk)hp!H8Rbe-#4oh%+S8~mCj%`mPetnrd57SCc=sgn%Od5E%zZkK@umb- zL)Cfwqaz^CkD?8Af#=OZ>zUg@^zcbqi9|QT--{%4u(4LXlv}!hhU3qqpo9HBjL^cO6~s*z8AdY z>K1oWjQQecdygp$ecE>q?IH;v6eMy{L`-=jgHRq9#+5;ww*h`-(y+CW=+HKOh@koC zxp%4D+Id#DUUqqK-bPFh;+mZEC=oC)^Z-uZh*0Zy8xsl|LxO9TA=X+*dI3>7{d~SL zgV(6wDOa<4`;KE6w{SQ4mfBRJ@vO{)>A_|sBAA?m9I6w!g)9oUJT0N~v{Nv-3+H;o zSgh;#rCB5HkOQh{m_tucCx4}yzt3D@N`}0G=pF$I5Um8lT0RQ9v>(9NDcWTnx{h18 zSIA0ID|FaJ2H~TLO1$JC)NEE&9d>y*>o+!9GVvaT49;VVD}YxVVbrxEz2zEG7R-EW zBiTtcve(oi>rgm{-Yxv z#HWt%Hx*)BF6UfXq3hadct65TxP~?tg7+iKxMEl%OF5noBduc2(Hg}>U6JTA@Tp_B zXqR#t_eN-qN%hnv5}L!lwlEt@?u+bEw{VeMnqr*u`$`GCXV2Dw2xrR}$`8vW@H=ys z-ZcA;`_wGGrDo}V*=5ZVT~n&7nm&x*l8`(o%Ea&82o(Y*@$$o3X&~-I)`zZRPoz>G zBH9_aTd1D6LPFXwB)SaFU`Qp$AHGJO=hVF{>Y)8uiL^-oFJXOxR z%TvoxtpLU79QGfTag8-29M|tf2_A+P^6LwcR=#^w7)zj3&bwL8CuPr1uSI-~q=R)1 zyi+ZqubDf02v!Mcl@B8Xk*lOx*YSRYasszL#K006CR#QcyOcv>dX)dxY$Peu8BTU` z@4bY>t_`V~5r+KLk!+l7&Q5c$*@<--&^W#jr&t?*cp_q3pz~<5g@cjXt*$PYeN8=M zIM_3WrD_acvMX4s`u}Al$gwY!Fg4+C*LC`0S{2MAl9{}k?H4M9Ob6Q2#*r( zcMTJA?cFxpqs4;ACt|RP(UOzlCh{(?P~eY-T%ogyI(b_Bs9Gqo-FCz6j=|~Mwe+Rj z(@A$ok*?zzYF+6k3br>zNXl^hN-1T?l`0}| zqw#`HLsr_4ohSy)x*6gLu^KThr3sDZp|i=R%4K5>t_MvpL(n#pF&u9dD1Pw#+tF|7 zWbugFSku>vTR#ya6{q0}9yk-fJW+6Z;6q(UWRHF#1}H+RmL&Cwq$3kSQFMrYB7U&@ zh+L>`)lcMwl?d`uxZz>_#2282ANUZ?eI)jg2ogQ~*fdv~sGWj26x1BoV!^mDad-+G zR*7Hpd<*A3=@S2>50L1Zz=Ux;OkJr3trE)rKn{!lDP<82chr&?A_KM~I~*@m5aTkSQz z#c8f_xwtPhju%5o`_op+BDs;cg_n^_NE&Ot4$LD~p}K;^e(u5JHVQ@+;4hAiI2^B} z@)9lJq!f#tB{&rC5-Q{}05n57$a>y+D3K6493{9h(IrY<`XP!v2zN-1a~t6rA8vGp zadU#a!z@8lD*@LcK4#D%pz*%0<7t#|(FNP15!O)0v9=*FgF}BcN-alXIDGqsA{b5- z({+$yYnyUkljC$E?sJCaVO_@?@eK1z6^y`C39-!Yob;ivGoDFgm0#DTO5N`aV}QCp zyJ;9qbEX?|S>!;pi_LZ+JE)(C#nH*gY(|F17=x?#(8+HgC|MH1xx9y;!bbf>YGq=y z2Z0=%>%rAIsL8=VkNKOV1U&kQxIG#~MmJ8{A(%vNm@eo*3nAQzq5`Pu=tQ<~J1>r| zJ#RKn*(V4S&3AKtO!3mk;>Ybu)#4)uMaxRT0Yp|fM=AY6`t7(?<@!|RGG3MoFs2(* zyDq@MeS#X+T6$!yOI7}VrSkhRs9R9Kg)664*eDf07OPBOsZ81rx&<*G238|u2QKeI zRzOhR#Z68hU78;tm{8h0=H4(Aj2Xy7783s?F%HW}VnQJ?-V_{+^W@y*5n zLXJ9P$7TuL{rCmOW|L-pN84y0zJ*5|zNmTl5YPt;4mZ+d_e8-;28tq(=G#x=`?*{O zZgqAt-4*A4`N)y2Wm~-Or>t{25ag`tr>v1u-7OfsTk*pvi!p|(R}<8W=Q(*piAL!I zQBsp~l)3des~Tteaq@C1y4CP)-+Mbvqt{HI<3DvXTTykD!%<#aRiE-dSVwPzbb^W9RFR>tvyAr zcMdMhFD@*ccv=1#Y?1Bcvi*sw+5G%mwpw^f>bfo4Y`6OK|4=mdyJa0)?6Uu2*-;$j zwET(rqjC%L^YcgL=AJSuHM+8%ytiwE3sv6SY55bUsl4NJN9E@CWZv78`Du+)QCN6s z{!ciL{MD=K zw~&7)+7;xh8csE{=8woNE<81Nd~RWJ@tES`Y2%Ojb8&wD_}t>c!rT#srxvRjw>$D! zf9|Y(uK!?X&8&^gsjoSjFV(6V$C!C_wPR-2%q*Wh=Bk=8b+t3c(BWtwudSM9R?WG( zvbK-!mYdbSJin?>wdK`)xpVE?0c=&xm@E5shFUkXeD>@E+UM0*r5veRo@iYThvli(Wx+pI=jy3h z9FEEcGaa|6_m38co;c!?x%bu%#4#!oM^_;$%Yndgzw`bMDCZ4o$VnMAdAS?O2DSJ~F3L_2F2DgRkulFx|6s z$2lBVhC}wEnMrQJkhS`3^*D#4QPpQI$`Kw}Q{z+1b;Oq|!=Wn)7D97s>Z;UArfTm= z9#NW2^|NOzm8zL}P0buNz~dYaD`mFE9KGJ9c4N=0Dm8t_IUEaWtLiJ&A|K~)gsW=p zyvM2}D>~NUsIFAa&~I+l?8=^Q(>ZNrdHBlOnrnL+KGxx=t1qwbU6VSZtZQKJt$#fI z^QL_24q~ESt;-1xM`iVVyL>-N?r@aPR?d(II~>=V zdEs!Bf8Q;#i$}DdmQ3Ln0%LG`5u>?hkqIxQviK@3&AjdR+L;8$4pz1%i>U&;Li}>7 z*p9^~Y_~44Gz=M>UbLDdY;JdLie}y0^LeNumOFrKgR;M>AXF1k(6p~a;(zAx>kXCtryWESd2Qw@G+?WkVV#iV2AGLm{6dpzc1M(G#@s=Vs-TLW*4rc-V7w8&wVieb_N;GdbS@+q@ z8WO)go*q3A%aBE!9I3+zRL(Kz2*MaBrSiezg;Gk=M~rQBWy)q_K5_-Ulf-aS6>bu1 z)JEajE_qYj_WHhLPt&f>`u&*xprO)$NrdS$h^?^tl2 ztQWt$&p6`+W@X7&tjf~4mz0=zgm^C!+V*+H_&^p-6hvQ>kgOKvKp?gj^E35Rkugjb z>FI)Nw$M(h-##6#yD#w;zv$3ruqWN*(aDrI_iL>31&|gIMIG_y^hAZ?IvhLerIa12k4{94phFnWI3kDTnPNtrYzsGXOp+1%t34ZZ2-{)G1 z`1JvTHYaKELiN_bOBC6&!kc2564LwQ&swvdj@2J5EohGv~9U zlt$;Jf&mn9p>7Yq*5sI9DI%CAZoNP5)3Wt+ycNq4#7!>_25ni3_5Qe;LW6ttbeu$0 zjgSBVL?ej#a3vj2U27l5&fNh;f1}Vunk6 z;?>UV;D<9k;+B}+AAi#V|8@%Qj8PzYI+dloVnCy~j|yev;rNBVm}vYEy&VmV#0UJ% zxs>(a7x(GFTTZU<$9g)})BaS+Km3SS77B-G+^P4+@3dj!SGK&yc0C=tl;n*n=QI~Y z(`%B|Ah=qw;VzVQV*8ygd)=CZG#txd3h5y2sP{)^vuLBbtsN0!1Q^0q{`mDY0o@Fw zD8J!vSaqln3EM=wvRksq9ULk{Q>2gM&7M3A@k^dC{UjLM6s35n)8Wt@yZ;lK(8307 zWRiFWk*7YeP+rY_yzUdpWZr)lP9W7xu89n$T-WzT2Q`OB_$_wnKC^17@0c-`kLTe$fD8Dhxn(SNiP ztgLnOD(YwVMXwx{`l&cdSPBlLk3n1QaI^IBm4%K*iP-y@Etb!|s!x(+&NVaZ#?Bx6 zBWn}RsZ(f{)8R1NVna| zT6iqM%KO4R+NFRcQ@eH!u#Lw3cI(Ja5q2hAXevW}2L5-45 zuSod#b(@oc)Qo|G!c3*^sXQ+pvsqBviq{<3`Ve%-Sldw6#>$Y^tFAdzUoAOHH?W_2 z#(F>A>jlcGmtQyRdtDRU5zi5?o+kKX+{c&>*yP-Ym@lBG;iWhu9X-f!Z)ud#6%~qK zh*2Xxm3S}WlO@ZbM%dYufQg&BIC81@4J0N9v@<&B6GAt%;dsW`$+ot~YgF@i%DKUG zSti?c4cp_ie0ZN+;t@1^$Ww;!el)%IViWZ{6E%{spyoduCDiBgru4b??y=Y8`jp}} zwfmOEsYCKPP1w#*%ky)!I-@tpP~x;(;x0{z-PEp$cd>_Com9d~t<@s^BwVot zv7l~X1H!t7_v3tCD2QJ-}t%iY~a9YOsh z+z?;J#=mxkk$2?E{*UeVG%sc1W_!O={dvRb$=3~Ra}HCB`dEA%_dpViu0h=Hh&}L3 zY7g9J?SZ%GnM9*!g!z-X6Yl4*@F(tsV;UqxD&`L7K5Ge$fx3pj#e=-L)|p#OX!ZA@ z&@G;q%W+-2#w01eb#BO2n)BKz_>@Lc9QO*XnVCL~shz)AqvQs$&xt|CKNmN@Es0at zuu%L_W%6|fbaPzY&VZN|8u&y-K+puYYSUTf6YBmtm*%q&H>X`Fsj-mi*tapOW7laO zaZi-2d@A|J)JYIruQe-dR(XR}>bGA>78uBkE>;Va3?phjz7!-z9-!2$h%|$p_yxI@pq+11Ad<0l7CSF|rnqX8| zie!=~6`jjolSRZzqFbnVCk8Ox0ER$$zkD%&3(vJ@`U8mgqPRNvt%PWOp7JpCcY9-NXzyJ6~sdXWweN^mXK6aBgIK-#sJkEQ85)i@W_+w z?FR88zK0f%i5!nC7C&NZ>q(JQ?t%d)5J~Y;K%JCX@2%*Wi{`XS+p5_THK_* z5UEtgoFHsgww_!R1C6(fb~>a}LWnGcco4~4;rQ-;fqpa9K+SNp}*rZd#YdJm1Bz7bwh1eFHdxvlV&7Go@n6PSf&)t z5P!aCBk5XbiV1e#b8Zl~Q1H(Poh>%ly@+sQFOxjkza@}3THR@az0pkZ>JS5WJ4pg5 zYcy8+X991=^~sVwDbE$j1NI2MbPg78O1#n1^S)Ulmb{7z<>=ocn3p4`3mS4p@n*?F zBGbTteRRNY>bCq{!R~q~<#ONd+;<-JPILp?89C@^-PQ#yu}tyGy=J*PoZYMq|A@b) z1HWyuXk!;(kwzYBG~fN1`jWdc(iAn}42X zt^+qG#*HG#`qZKP8~rL#$zlJ)LF0Ue8}v%)gG%trwJ>lvK2Ab<8k(Keobqqgo!U># zz$*ql@b(iNtG>G5YnOyfJ9pyK zlZ!lJ0?3c!%R~h){gsm-@@sKJ-%RV(kT8aj0{Z$8!8`H&X1+UAKEg%6tP;1}%M(QW zF;-~S_-1^Ine%>?^DDx|nOig~@MZF_y%3$2?uk)0adEkX<|xA#>QT7$leM$)V!TU; z2d4=hb8-x8BqZlZh%WG@#oEZ_!rmFUCr;%QEBout9cEWH#P^t8d4X>XoW2r?peIMp zB2_M^8z&gx5lpYaNYA^#4zi?7cJ3{4>J+8npUx64_wsnqJYmYszP;QYezTUF>Ze@p zI=)NeDjyrZh3mPDi+8N)aa%W_ZPxpxK1KLR`3&E#8<9Q|j` zY-S8SYw#PI8B_=QHGeMsE6d~z914+}y*f+;`ZImYo3sx8r!@T!TTo!!AX z5Ug`j3C1Fgyi%+#Nt5MS%I4mUEAFOqqZAn<;0lOwG7(8ChkQWu?(@W-e>wLR2DBI- zM7aATWcq>9 zF*to)hxjj&uq@Kf==!BFOxTUGNa(W8E9HC|Ppy3IhaD2q@;d|zGBJpJ=@1$jUz@R4 z>hs0>QK3wdMX%p!iUMxb4SW_|NMIkwSX)BZU4`#E!@ z4vCBu{3<)vo}#~|oM|$&ym5g#qj)+>oHb3b4F$S^Em1P6(*#>lEm_haAzBZh{Psct zR*F$*MnE@6^fPuGosWgomb_@<44EX#|Jq2h^QqG5mYwJT383X3z3bp+!Wz3Wo8@BMeK!(;%pLBO1I%PeUuJxfp+r`qW(O z2GY8F=i!~!3I!)#kNVV%r(pvKC!UKEqOdjt&qaeha6<45rke*a^e4oFM4NvYHc**~ z!C}EwBtU;6r3CGw4d+ff<=a9r7)!lKH?V>MwK%_@p;|X^TWY#LR?}TCA%m__X$2iJ zx1T{?Y-l2rbnd-K49uw4MB#NrIn6DsLx~qy%Vf;-?!+r}-*w=c%UBUY#J?YG%?6 z(elw5?=r7zE>tDCOj+uvmGbbP95Balp#W`F&6oiR-^*+tfE6#8#;I5@!(2`mw z4Ff1T*VAy=Fqd}JI8m>!Zq{KMGhgr+3(ff(iNuJb6{-w6MTv^Ze zFX?@sVxW2~$dEc2qjFMn+bxf!>f76s|7*wKp3rrUOuL=KrU;Yb^#-3z%s1IU%9llr zHmoCn#9Hy2K;|?#hmVEgFPArI{pPAhltN-)FgYpRVVo&LiI-!l7c7~F-XLqIGMa$`SkyWaQQ7YRN zcdJOYla*UcA?YLhb*}g&U+;(M8MKtwkV#B!9RcXirARK;`(a|{C|$!j1$sXe=J4@c zKKj*T0Usx*M;{-zB-HcyEv-1AH9k zGEI~^DJ;h=P2m3gUjyc8$N}GVzX{f(9QQyBo8_j|B^1 zRBO3P2RMC~_~llqnPB2s7KC-2Vb|7gF!|>;GsJP3^+gF^Ulwg_w|M0V3Sbp_*rFt> zll}|IDi4+8dq>Mwx}A{fiZdO19D`RE78d4@&(F=x%^j0FMg1{8(S~;X$NwMF&gjr` z)c@Isv{4;B|BvkTY`!<&j7YsVljf&UhqT-dZOoDXn{V8ymuAw=)00fKYgX8I{TDD!L z$1~K*Q-kg2)<)5gbPgujCE3ty` z4ej9bdEa1x5B&-hI6UgDQ`zg*DZ9cRG*QlV(n&L_Bk!GJa+l7aqd#qwA|cJ^k%-wh zQCY~Y<~0TC|EHTM9d{+HtLRO|>Q#5qb?Pok$1fA=GWx<%pr>PrdD(oa5;vNOf2qV` zGjUKQ7MY0-mAJu798!s2n2E0(WYdq()3MNe@r}d0zv_G4Uv<6iui@p^pakG$v0RE$ ztnSw95L;c+B?D*c#3TMZ^{rQ!%L;Lmr>gP~u zCkFAv}>8FKFYU4)298TxKNwap%r&%7k6k=4;2?{lU3@X4sFVz@%iJY zU0hb4UtC;PTvk?Ic5$9|f%>ZQ_Rg8lr5kT&ET*-~#By5PTzY}k>+z#<@k*>!LA9Tz zk(O!yPxey}JyBj)dG-(cxY7C~T0#-iC5-Jk&IBjM%_~{kig=4@t;3&{-lYB zX3D4uQYY7mSE%YRlp;pVuaQ!zBQv@5LWQO|`e|jWQWdA;kYlitT~OCATM)~H%Y()m zRpe_dk0)jgF1HDyBQI#pm$D7e0Sdb%b@wi1*$VG9f=-vJhM7y9Lz|Dg2Qoid`%d@@I%g zim0xP_~d}x&sk7mSUg|R>{<0`18RIimu)rT{!LJpqsgXo_O7+Z_79HjPVsikQDFrQ zvQd?{Zy6zOT)PE>Jc7CVF)&-axTXe!JqBvViAHbFH0gE!`WC4>(dPBtZCAWhQ@68U zj0d&j9Zv3wtvz3VW%71q-b~3FNoLZ^4v(NMLGC**Qn*UET;q$$F3uG6FJMx#OjZ+1aGJyc{0_Y!L zyg$M5VPXSDVB#+sgYa4(PACzs3!*;3yof3{`wYeBbjx|HI4B`w3}O+~M37h}t1vg? zNR5i&>+Lyyl`LmDC=ZJpKgx!3mW!}tCDp0Q!a2JIQz|*y$nAnOk9ZAs?y6;&?NiLJ zV(MN>k;MD>!B$5JY2VZE`$QLBbY$nBEu+=8J9~^29r5ezF=q>!a`5{^4qduRNOuWV z$M&0a?jEf`kXC>p0m0?V=<0lUH9|g7jKyi<)?HW~%hWZzriCvrLtYqDDv=hZgX!uV z29PTh_W@j!gTdJt;=xswYMqTj@xD}ulLEMU*%4#mcyJ24jV0BR+c;PC?qHO?`&RYtq%f|kq@G7Km?xKW zo!tkt(+*uo*MRZLGsmb{VwNJIi#O z+&haO<%HX%vPeoXuteQ;yb&I@T0a7*a`e+$dVQ#qC+H!e`v}={%Okx@9^@KP32B)Y zkUHHd2EK@8P#;RmayXqE)UEp4|Ab1kFTpvL*Y3w2zP76R zs=h4#Oy*l(MQUp6`*>~h2ickOqbb2wDx;y^S2wfQS$DMAO(t~OFR89Ey` z!1rm6UYeZfTRD_QZk6S=GZjIa)}tHBYGzl>tPEXMGj{Aat2T$DpEkVBT38LkO(fx7 zIa}8Sc^jy6DfsCYiokibw~mr5BkGaSGD_DmqJbM=S`IOM73NkO(Ip|ea>_REgXE)j z%|Eni)^!{|UFuk{IwxC7B{Yc_Vq&5Ag%P}{XHU>f->SSPMwxe_ktrea9M_3k8){X) z(XRYYbj#5xVI+1k-WQE5vXKZ@E8Fx^=w7K;koEk4((~B2%t9bc1PfX-~~vu z<_fi_sJLW&BBfN4p#+w}5sP#kPe2(3JrfOLP*|{_RaK0~m8izR!KPMmV~JjZgH6kH z4egE=UJS=j=klRMP}lHhN4Bn`RXw*mvSp5B$rLG-r^PQb=oCbq?U3-uuaGQi8X0g- zmv3k^MDIG& z2E=W2;IgTLGw3rpSKRn_<0lG?#0Np^uJFfi^8nJ5p6 zUzU?ctoW^Q7SJ^ujz)+(&X1t7M%S?k&ANuo z(MVLbQR~P+OGIQ^ETwNJm{oa?kn+3 zS;SFcvS}}gmNtbJsX5Pxm^QlhwDr?Q+6urd?ns$nN7iwx4c@ItF1o}$aNMRm5 z-!sH2`UR-aCt37_Nu5W1J}wr4Esd)P5=3 zX-&U%@oV|r6sV}xIal#iT$;n-bbgagoieAB1aTj?-b~XMLAXz|n`_JKX*2TQTFmr$ z#rN$~;Ha0h)i3)}PMKu%F$AlZ^>uyH+u=GzSo6lNR(Gyuo3?AcOxv{{GYU9TrtRo$ z+Rj9eX*+558eY1(s?M@;*LvBwGe>njIR(sSeldIC>alTm@y@TeZQNBaQoS_ihK0rK zT*@ScSVNU5KQxZO2l_BowoJbqf3$XshU~%VMfxCN$XLswLunNo^r}*-D8G{fWT9O9 zpCEhIGF8r=T{Wk^YG%)RU0GG$7m{V=|L<*~{{14)@pu&0<#edW5L-X{h&NT$^DArB z%reioeEZ|L{O@MxnMs6N(H9;P_#R4CM0l$26ab)t#_g?~mG=@0krq$#5>N?J&IT zMSClZB*l+@CB=#-#8$#nO?!t^8ub2{)kkG8N=~ByS3Azc+8i(0wdGqqR((5djL^c} zUnqX~3doyaEKW-;(JLt2$qy@KIi5*mq_|Lfdn(&$ij>LUI)~Q1v#lHB_#H|O#AJ9G zZTbLQo!N7}4A~*2&^IVNsfdbkFZiTTaC)|o#Z)V$icf|sTFtLigz+n7{md5pY?;J( zA6rt-mRGES0WT39CDqQ@L|()r{EJS9N4)q&B4`C+SZmQ zc~UB$iC@}@h~!CKd%KaB*PcXKB$-5db5dv`;Wqg>i8X81BvBL*c$X3{VQ`Xm>w)Er zvF+_iOpD~@3LdnmP$)r;7PO7#-(k>xmQoE7Y-d2Hm!6YL9m#<+a zEJ{!zTe0;+w;6-vLkTTu`|xjVZF$&~h~%}mx8t}2dC6ou`tMqD8>(A{hR`@ZApT?< zYoLYG_nK)>VqQcwlQ5fkF3!sl&pK(QWK1!;#10vGe`;@MTRC}cZEZMim)RDFQ@x)^ zEm<Cf-zu)wo{^(_$rVso`RmiUf@ZwU&JBiM6Kg-@WhJ`-9qt+#lq{RtOe4 zJ@|%1%R;9|&`cIfr(>nLHQ@E&$2kJ8N8FeaF*n8(hCnajsn8h+<@xx|75C%a-plesHi z*TajkUL}h0CKLCn#A>{wAGs^mHqoIh-qWpJk@7A1_tdUP$3rgi(MgQahxK})e?ae= zb8efBn##PqyxB{VOXf-b)no8gquKf*S6~)8RH7I+GVw2!h-0ZMaI(d3W~_VsQ@OLn za#u;dmTm&#mXA^`<3rbAp&v~ZN{Zp6q(R&=Tk1wnnIacU5u!PHd1E9uH$OjLOF1R` zhh2Q7m<|&eYN=dGr<^Bw;?A36|IS-;XWsfHvP8VeCDhBYkE97@UQM>+l1Sdg$#a&h zZ(kxfX@j`Ybo-h$YZ&}&y;&r+UMw=I%{V^UhD(C&pXTM|t+C34(6njInk2X4`q`?P z_2QS?#4l~)|3k&|6;p6Yu#F|!+hz++TFMfY$tlVEFEd7A_QKm9$;->*6)@$pWHKSM zZWx1GBIZ2*Q^JdJlS-_{=S(cM691ATS9wuHt@77Wl8@c-R;d%OLa^z#<#ygymn&@cX&xe;32=IUFuRl3b^OBw_{QyFAx28wcnXc zwhK-@K>vMB<2aG8_5y^Q!b$DMnD+Jx!EK2g0)@{Utn)UhliS42zqj4?hd;F4hQ||A z+uJ|mh0*Uo`=`CDotjK0A33JVaVDo?hp7rYf$m2Xf6xn_sm{A+jk@kHdd z+uHKXUVmD_GN&>W2AZa>S+geb{pvq6f%uqYd;4|gBvHIj^)AosUAuw`U#(xW-dw(K z=bOuSUBB>Re4`Spv5<*QD{(`=BbV>se6@VP>{pVHZ(^;fLt6GtYU$Fkr{Cb!vv}qH zb$$-v%3`eQ7nns@{DCT5j63@U2-vaLO1JbY5U)Chxr+Su3f@(pu&!UvaU6a))ds%m zH#k2(A7^=x?g0wU%}t%T2|an%QtJ(RH*XGMRYUF^qX0 zRScs)IOvw-AzjCl30ix9CIaT#%^X)@s zpXg3V7fhOLl^D-&EO9~a5@Y%H$PyQ(O8k)DSmL7ICC=j8BTGz4l^DZsEb)`xCC=d6 zBTM`&Rbn*1vBV|4OPtQPN0zuORbnK+vBb}<5}c#qoTHd>(}aplYs9Cea$aHORC6?x zZ`WaxkBceD?8K7^0^Y0?;N6RhDGYb$F49Pprj=n3g^#_+B$wD^(qc8!7MbJ{i%e?$ zE}7(#lHn=%uvfQRNKr_n7cjp@9?bS((@s_DLkU(NNMZ{?rYW*Pcu!Q5Z?Kx3}Sh1MThYQv~Ic36(ON#jR+bWD@HbC~l9#BCFiA zI8ro{qOU%b&~3MUXbdt287H(=RIG2u=0qf!R0PGq1Glxcw`1mh!4H}xRAK&;gw#n= zN(l)W(9#%1P98bagW8QeUgZ^SZR?Y`a%VExK80eCa)r4j1;01xqL)m%D6gk4J)JVg zW|;I|dpmw%BE@ZOIBi!lFS)+G9mjK|?WnK_rXLVB=1eH8zD}SwODWmo3*IVo~{u+=+!;e!tRk0Xm7`92S{ohrF-T-HFIz_ zOKINa!tRB7buKk|tk&#Ya*dk2HCE@|j;hXWK!JqXZK{%;;?Mtqj&a^tRj*F{k2Cg< zCe^9m=mngpDH2jsthNDvk>2Hi{>yn9BX#sG5T7dCWO)>cC}NS$DvU{&^K@0H1EMPL zHCtoM$@*>5nDov&@8G_~LVI=c^0)}3j@#F)U%&o7MIZl3Q5DIl?B2>t@U?!V8ks`5rQgw z=4b}3t}7%2eOG%M_vl#C-X@@FXD3WR)5cfFA82oD|LjOWWB!u_=?;D0|1&^?zd4%? ztRd6nb4OT0Se}UBGjp{$OKHspJD|Eoi1Ld>Zy>`xuez3OH&Bsb@&^bMEUC z%6$Joe+SBZ;n-z%sLepShiAAw`6pvgAN^1Z*9R1Y3{J3QviL|%y&veq*DzO@$GqKc4 ze96QTD{+vC#a7}F6E|3iuhai6{5XQ8?U-x>kyrbh zL>$lbr`d7bB8QG3ok$T`^4^vU?LMy@@Lhh*Wft$IL5fVijZC4Sa9m!V&A91d-AuU1 zuIa4-7AHd7QZ9ASOVBh`pnJq!VLw^S3B}f_;1+u%Z~c-bOK{b~ygc$Ek1G*3YJxrSWA z3PPQC)~s1`n^|`sC&N0NujaK8ZF?XQNh*l+S=;Q{vu9(_((l%5o%f`KzFP9mJMWnF zvd;qLU!e!{vCiD9d28B}NmX-OTig2f&s4|z=yB4#ERzy4E<3X7(E@$r5r~W3YaV>o ztt18m{nb01^6{ye&NBf8LooB#)2!!J6US9^!GA~VafBQ5)365{dL99#MEtDN**`nE$H? z=U|wpJuiuiB6)2|1H*@L_LI2k_V)JV8cFSHHPv}|II&Q$%du2dQm1x@Vq>*cv{kgV zVRmb>JxTdXMFr21*`|qf@oc{%erk{UjZ@bfgFb9~q@pd^)`r{cOX58Ac9 z?Y3m^jbEX5sG!}%``era7Gg*2pjSV*vhD4d%^m%;T1jgX6ee#@LT|J*wVjjdF1*bq z5l%di$GR|x6vCR`Jy9J=3J#bU{;xIm#H0}}KcXkZR@syG_PnP#C00*}w2$r+5|H9~ z)hyL(N{DW@|GSRdVs_-K|LYxj*d!}nM}gGIAJzIuo2cz!FH3teH5o@@<|Z(3^SHW= zNmojqSa|t=F(GTzEGLaqiL#qVmxtFlwHKQH{59s;eR6PkF}A71YCO%vvsPj=6I-mr zRwkZNiDEp*#8Xyc`{1LVUEJN&nqrA;ZAhKlbga&>Sf=+}W3f!%8Empl@4klo)?)0o z(rc~sU##?Rt@K_ieW#WFV6e$zU1g;|9IRM~-@8G*Vv9TWMp7NZGa2Ns=I5i`VX;^N z>;E3{Mx&km^%DoDZ|flY^oXA$*{r;^somfA52KQO_s4&fygl!GSh#(&Zuy<<_W5J- zT62-oh5RqOZGdGl~`WO!$`uDlV zlTBcD6=@#9y@?*a@OOuW9m=-M%I);zpuBBoeo4nvO!4`{g>@u0bUOlZhGuUM^ zgRLTDjiw2ip5#xvOlEMAo@O(HIgB5sn5b!jDJB!ug&(nD_UFPLCaMc=zU3Hy#vyr_ zs?yUig{d={+NP(Wl&L(XLV6lXn95;F^~vOarwOK}hJF^g-^}^b-Ytz_i4a-Zc8O`J z5@)ak`*tZyaI!|}E@XbcL@-t2^i+w`n^V(F-6H_^_?v?ZSUODHcat=!6oNeV)BTMJo7*{c*r-^~wX0#@3 z5W07vwVjRc@U4x3WGYj?CrC5hlzxvfPz~DRTpNND4p70zSxyZ6{ zz!5C$)J@WIgWWx{uND7ZY#krv1&2LTdOm+O^?Zy98LBHqpGEv+D*5aa;$ubZ$9Ean zbed{fnwgqD%9TzJ7kf9pqw2GDvDKx1IBzh8fU|57-QJ#0)B-ZHJ%E`(oa!;V(2lA5 z1!H>n(#d3-v`LZB``!+FlBa}dK%`o zF@N`L_FkLke?R&2FaPiM&(4OOcrvX(LjOPZ-UdFZ;_4s2d(X|;%LWx8QBWX(L`lTm zKqzjoiDox6v?eI@X~2h6b_0nRUJ^(GB#`VzsDemT&|+H=gBDa!Q3T&BR8T=HB0g5M zQn9U2#TR@F6jc77@0ok=ZbCqOo~O^p|L60ICfu1hbLPy)b>dFUXArcao#LUn}t3mf4t z)~b14&eFt&u-W6{XP$Xx#foR1p|2w=g`%A}~tU0zCqv#m_cJL%D=HF=1V5PG*8 zIOlrya+JM%M-b-q_m2C!MPk(7_Ng4|+$Iz!bL7ySb&h>#^A2Zi{)4654AUmujHSQm z<+OKZCevM>Y^DSFYFdl+Gf_O}-)b++Y89o!Mmb(571NKbzw{c-W7^P&8^ko1y%g#MIG`lmaaL-f1) zOpwkd{VoAY)_=}vV0u-DvFEX-2BuXm*j4sK1d3d{cJ5@8sxvu62PvCYG=e_V4~Awn z+X)r2s$-h~o}yj{p~l4O7+cSgD(iVOwiag`@008 zP6!O%wbTBga}EN|#1F2Sec?&7+$eOBs~27pz6wVQEFzdC9X2w3~xyfom7-jWp0*u59`=qV{pN zZ4v*XQgKt@arLpz#kAP!NtT|y@sd?(X# zT^RqhCX4Z#U&CUCMD=@oW2=&E#>Z6Ok$G0^q@{W}eca?MOED&Dzv|n#Vmo%(FbeZQ z?hr1z+cl5&h@#s|JuF61#7WDlpX2DXP=ikTWhtedctun{JL6jytNYwiI_-Nb@EELT z%~N!#zcK2X9qLdF4L;a@(FTpG7U=ui+wZyM2l=E8P3n=`*@8XcL<{z#ovha~YTB>Y z%_m&1qjXIs)7jY^;u2Y%)w*oi4 zka1y&jr#*{&n66>68ARy-@e%Tq0yr;Phcs0=DtN!r%qTj6`PN1vgqweP=7C^RXqzQ z({2eA)4d4%c~UZ-bfo(c_%AE47J*%pl5w?_9z5>9Xnu7N?6WXA zE@EZnT{M-aLQL$jjlI)pZXS6Gg`V5i{~gv$Sb6_JUqp^tLz^yWrLmdKK(WX+_byrl z)$SS&(bSC-VCP*wVLg-^=AgIbhZjLaBv)UQ;Eog7Ud5p}HD%Ekk<8oV#LI+7n&k}2 zg!P{QxZW;Il@Xw+8^tn0jPu&fE8yax32_NAMf-DvFW8l4Xgq_26Bx2&T8Nk&{++VkD-m~OXH-&e@`Xw zZlA0C-&YYn#@==--Ty{4XhXD=Ue>ak7r`K}I^D$aIIk>D*3=ONSE*j7FCyDJ^hxuH z`eeoBD@2xhO>n>cHa!!aFH?AP^PSBw$L-uHYN-`CI)R^ixlTz%Ay!h+F_~CT?e8f~ zum4q#bI<`>E!&#wjP+Ih)L387Uj7IFXwXfA20a63HqsbO?qzaf4EjQ;)6SjIW-7j& z=^~u;h?F)D!U%pFXFWoX4cgf}0a6}M#df~iHV#c6PA<#>i`K7S|H%5C>(LBxO&Q&} zQw~imBG(%A6*o55Pnd8eHUPLsvZz^xCojSdMwI1b)Kg76?nbjhlZo+ZO#spL>u-~? z$#w8J{MHZFRCCeJ7=8?$5Y5~aKXT%6w_^irKilJ$QEB}ghufsnAOu9J;nks=v$gnN z#1BKl^nV+6h%nQ!E%N-Y(T)M2`t@SSV?8o3oq^A=cH`(y$C1~0ljAH7eqOs+M%|)z zgU!i%fj1?vobE&54G9#}ngJ&?pSRO!Jkk)e1O3t-w;sAK z!!o5meWhhe-!ed%(x19gnbM!P!cSP?7p?GPR(QJ=-e84aw!-VJ@GDmMVJrNq6@JJH zzcxUb-XE~SuMgFIR^Q?v5ZGDErWcx zol!k-5`(&Jd_NJ)$P7b~=9^8;i)W@F-gy2#xvV`D$P2I_cqv+TW21^tuqrcTwgqfjaz4?b?Yq7K<;7M zVA=UioHKwG)$q_p`+^vsZzV3I0w6+{8hg~}LeKQ-%eCP5rIX+g!p2l7nApS{6BF0U ztiN_3yu@o^Wdke zH~UvU%oDM<{~O-&naD+~_i0m~cpoUh7#4r$5Xvsk6s**{)gYQUL!P{)(CQjqE`0^ZNzi~R#q|tEn#ncNA;hfHNHQvF~nR>%P3{BdjTYg+p zXE+VamITMWY9JHSnbj(1xDhG&?X3>}ZO_TqJhUSLok zOnHWWi9tVC-f~>a1eDyPR7K{%`yssZoX#|QgrYMGZx23=8r05@zs}iQ&6P!-lv_b~qdL=y; zJsOv=9SN-0D6e&M#O2tfw(c%}rbE#}%dwkp15*jk-4Rpyd=PLhXek$3dhb)TOx%Nn z-bk1zFn!jjgb9++2MH4-p|6!t@;Y){fP|7E_#C)KHRLZOVIUHIAqf{QGl)Xa*@X<9 z`V|^PKZl}kouQKtp|N&aW}#|{QIanUDAebm#R~Ton^4jqBwQgdgBKe_TqBwPgCCBTOK1A*- z4JlOQ{k%o>sBfD=R0P;sL#LsD9gYxSa|_WC1rdbfLEnMTRJcS~p0r z%?>VdEvC^iyYw7qkZf|v1WV_YGu$7_-1=yAzUszTG;5@;k6J@@hqg??JYvVZs#){L znyB#o8yXmBO;kAO&)OP;=uRQK$k6HUn#CyhMTObk6yW<5@NVr{gXj(i_9w9T>=4Cde4UVO%&Ip5%o{iaJNSle|>-;EteeV{eMXK*AhlM9*}UWgpqwO!YoAq z{5=F|sU!pZ6NH(TSj_V&g0wtp@#sG^Flh(mxGSkx?IVG15o9Rq3xt^#N0X(jFIDiy zXfkgxboxpK7g?Fx5Tu)hjX}w06248sK&Fr{5abx2|FRimscPJhrKPRFC(Yq#aS_vcnF@%|#qsfx}T9-A|yks-yW5SKwZEk#A zg4^ui6RyQH&XIZcMjYn+7(PAuj@fw}G>C4B%FOi{YQl803LQiU0ltvEGIT!2@_?by zqH6v*Aee57R$!P&ZUnf$q0<*yy{s{`SiydwU|STd}4B8MNa2 zRCuqeobHSya}i#Y!w7GL$L5a``ob&D9djy_1OPRd`Xx^}z2?d`h}K4uWm&vmHvgRn z0`vy_S9i<6I*%6<0>1IQj=j7a(uAD8R)07!mVW}E0uEVGuz#pO9LSPaK&fUeLrLXh zzi|f3yUUn7K6O>`gV2_68u7Szi0dMy0&ye;!8BpCo~yj0?QOB98Kz4htAE84L>$_v zglb$Zn7zp`DPF2(dbf5yS8i@M(?BG0|!EBO|jf)*j@LvLF#|gVs7-wY=K64kR z@eAx`04W=9GN+DOo$w+uC|8&%!7a(U}OGYY#j0ChDWTd@IoYr|)lg*6CNb)o(;Af;5 zZaO_1pLLrIHzh!^(qzb^7)6GgA@1B^a3ONYVv9aB+&x83;sP`n)^}#&R>?s6Vrf9- zC*G2jisvh8e*{VC5NcGrDgI(Z^Q{h*cyMwH$4N?h-!|NEVUwoiahkz&W`^OWs!WvG z13NGzO&x(Grep|9Zl?9oOzD2?M4{+|u;gaFoE{Nj2}c_P2Gb5Cus)*=vTa9UDZI=f zs>NEr9AOC^xd#-af|!sH(+|QDh#5ZuDgBT#em*|?LnuPZRg%&lDOX8K+AgbZqw)Zl zg_Kc4@HyxmE9DAF8HAK8BxUeBh8sdnNc!n~c-<1P#pO67+EMWLX$ z7!s44=_j9|)Qgeu6G`|naF4>KANdCXcL72mJP#o$328al2)mg^Zdctp1XsQa0b6S@ zT?|-AI{^WPwBv?1Ozad{ga@}myu@IIScwj(5kv7Ki zCZix*EU_@N2s|KpizGiLxk2TlU9phOHI@g-vR4WgBk#Ty~|*bdzhJ;ik{*;LWamaS~MXa%bdhwMLF3LAjY8 z66uIRwLN|xj9LTubrGS!nh)4f|K&ujipp4cTLVw6iV9QxMXm$>MtY&hV2C&}51Dk2 zf__J!?@`cuv^9pCmPthc{h`Q6Zl;w{i`Cv0e7_S2^y)qv;#PV10#P5MF$O~>uazpm_Rdy5sHrj`v2tJAvAo#ek=Z5gk*i;L4i(@~~z_J~X zW4{k6ibe2o(?V$tlyw-$;R;wK|4Rk0w{Ra(L5Mo97%YO0TVyIl38X4FDX9v`AXT|( zo-_@Z>RX#jAWJZdM1Yz|zkDGr4WTC_E!`~713-QYNVOrsx#?Ge49LF*EtXV;W`R`Y zrmwLz;Sz)CSIEzFGy*A#>3Wf(+)U4l6va$W3rB9XIr13^Zn1(U{lS$TCq|{NbU5_$ zI57$Y$aK~QreVCb2-II8gaBVCVibcqmIuKXs@fg`1k(-C3cyQl1h~J!bXdeF=>=(- z!wPnxf|Z;ISYi~TlQ>R{O1;}5^@t26>UxA~OQ~x))t2%^2ve*Sziy^e+vz~2g8nfs zLpa>|rs&@T8Yd;4A{{@_95G4hRO|7>%n_58PPHCC#2j%V);veV`qObD)-vuWVx4NG zZ5a#ZI_!>V_DUsL1hH9vx3+?der3rN?S(A22(PCiSkT+9eSAu?)_EtBwa&vny`!vk zqexOrU%IOJjZS5)W((q2=d#x3_10YEp_i0JBTm?Y(a}g`lcvl!x>{C857VBjOS#gt zn?+fmAZjH5WI&t0(sYPI9@cwPwhJ!pB^^h>s}(N?1(=aml^aS$)Y83{ zfK|kLw)N?4Cu=1#{f8>RByX#cNIxGU#$JE*QKTu!%a*wEVVm+W zZPwyMF53*0`lLhT4YH)fi(5X3Tj<8J&p6HSz_^o06EcA;1=}?wg^wbMA@YPk>uM3V z%!P1~V0h>)h*d@+>(gkJ$XljQ%vK(H8!4>UbuMr{VI4~i8QGbv#4+@;%$L`!0-H9R6QC5lj^ zGQ6S*??UhZK8PL1<9}GTr>NylfYZ~mx%EJ*S!N`PRHIsR7m}GCl#rP&<+}jme>L4Hj%i1``2RH@-Q6`gv!K%_J9=wlO`>Q9u+Ns2fJo85Ja0LhDSu3 zL`&R27~)2vC2jx%#EnFeZJ@~?iA>k3*8NtR+6o+#N#;vIhNfOD$c{-EnXi@bVF%el34bH$ z7(??Vd{Dy3e+$A)pGK1T4#PuB?XsT~p$uI4q6^d76Ao8y6E1x`qSj))H*I$viIdCr zZgbf5+c>!_k-mw@OgGP!fx3OGLf0aMfF+lCKpIX{u#x0Ofcs;; zcfq_R9U-v4Qm|huSjmZiC6{^7Pw{fu-t7*l*Xv2}A0mR;T7J|L$xNTc^i#fbKLjc3 zxb2hS>2&Y(?}Ck!uuhefA8wYIly%B=`N3w1Nm{2|mmg@BIQcAQ0y|zlD?d&?JLQVU z1hf-nDf-$H&>)G(IXJO`CDQLOtEr{+JH!!__MNIdEbC-4T2^N=+OZ~ByFApapU58e zr3G$C{UPa>E{G7V%SD%e%RjZ^mLLJ_@>zl4ooeh@G(1un!CRa4zq+ zbMklr|8k-A$St<+xbZNQ1H6>|{4lI*)h)_DQ!NKA++nU|Gac?Fqia<$u%e9+Bmv$U z2ZrwK6Oo-RW@~|{XMaI+O+B_ zB)Bw9-WM&KYK5#-a)0fcTfRQ6%RkX#-ac(m`^MdB3T1jLMM<36*g_?dPKT4ZBBJnMP=31QlMMY zt_D#8=GL^zy6Q53nene}vZjFn5Z@&}-XrmYFG50MyQkW_YFb%cbtMu^O_LYa@qL=6 zp`YXg_UW2dUQscB05fFPn%v=QxU2vtE-$P8P143?&*<+43$kQzeo;?chfq1 zsTI92LCV#IgsV}k8UH~1=@va9=f(HaGz~Alhr5l!ho){K6!9H0%a}#_xtdGfDvPCO zCUugYdZv^AO*tb?vu=k=N5az!Gc);o%;xS7nTH#}ZF5%%gg?>JJ z8T6Q#jX%aw1Dx07YEI(^?IN3#oFbc*lz}3Pts)1FqMxIFIN_p-#M<axGAiT?NBOCqR_1QcJ;Kgo$9T% zs)v>_!|eY>T_NX-i^)8$;xv93TcBtQx$4SPmAIV!Dd5X!wLE5LVmES#16aiUue@rtfa@`TyTZyP;nx6zkN44qB7 zZ|(^8avBGCiqVtaaN-}ByPv%e^L_G8e!zT+15ligZR3D(7MpaftDFOJH2d0U9v5X` zFrUW(J}?}F&)!3^S6%j|IAnZakx|B8qbJj|#yb`jTR;WTD5EEBFfeRho}1@1I;xt`|}SZ?+dPCE?*qdpg0t_>Hi1Bf3(4 z2e6m3sWdZPwQ(AMf*uQEh&9eNVFqVmT=>61)2a`+KtPFC%r25wxquvU$Nzv`>HEDJWk2iYL+Qwv6#WzqzHYpEg z1e30*X412%YazowuA0k1H3*!HRlt>zW9P~19gWhvTae&H(P;v&< zj-b?RY8b&Z8L#RvV4_j;YG-kBg()icRB!qilXHzS_n5bGBn?k6;HfM>FonvOE@1}Hykc_T*ra@4d5#T_N_0XV<0 z;>YaeG01y}_R%+U@mRQ7$pM;Yl5BT`V$A%TW87 z01iD8ZJ-`j0*#WPlq(J5%3wb=jpp29rW+#I&tMJ1OiLfQ3YpF>r1A!S6xUVJJ_Qd_ zABCnLc?zvcUV(q}C7q_{(HR@atzhVk46LCgOm%sbxWS}u#}x628J8;XS$WiDgGr~o zqvE?{aDb+dV2GXI!xA=S`!MhzhxizV8rFu(IW&UFRX%}37f{bpG@+EJoL^+GIgX;4 zT+Ai!n|Wp*J>_WrwUkg!bJn&}V|9NXM6OX>!e$V7D`hv81&&I?X=XYecR=NEYz|C%eQF_S2RZ{>ls$dyfpBNf;)QonLe&7_J< zrgZFY4#|>FMk~|Y6nSPXg~^?bL3}QI!#tbQ=<-dB$7|?}3`Uct@ip|<$OzPz9&oL> zfRaK5SB5GXGj&ReZ66GYKcgdtmxp=z~{| z$*(h=rI31Ab~b3#e{hHJNF0Y?03f5qJ(|);T&t6(XSHPVh(oQ5W3IzZ*aQICUD_jWGVp1oH*uQX#~i3DgTsU}Ca;1!HQt)$8w`QAqbOD2E% zrm{55UZ~YpBxI;pQTNRmtzwp(U5Ix2hLdN_D0Qoto_-odm1o6?sXR$|1>mThMx(;vBz@4;>q zYw{x;;w2VJ^BnfeF=$kIE9wQ`YV5t7A7rmt@E{LBT#&t~{3wU`6~>kVZz0i(8va2x zEMX;V(xC_>5_^Ep$wW1*si1&E`da$No(V>5$G!BDHpwNM>xcO47aUvy;Gk_ zAGwY|o?yB)GQ?hXOBkL8p<)cNe)%zxB}2TML%f9p-|8uCXxgvNSkpR#vrV^Lm zb5u{9Qr}!_^$iDp%v-Q&K*<+k4Cw>gIHae1Q#PB;AK|XUD{@cDq>o)2I3QOrmqs9D z;2N%17J0(kd?wYDGX1EEy;PgRbQ&7+02in}{$lQaF5)`jC@ksJM)RnpF@@8xS*Fh^ zLr(0_b8{PHN$@fyj01L>Bl}yG=}BWAZJ&!wUJlS>Mn(ZoV)|_~4+|5uM8O`Hv%JW> z@ytqA*t7G;0(zT3k zj-)6#g$}whOzNeU!SiTqQyw<=38PfShQx9`uFs>Fo9tX0^bC{EEo7{QA&P#+2WU#N zK1%JKHkXXDbte1WNum^~;{Xrf01r0|y35Frc}i}$-w1!hOs7MdD8qCUZGe%F(|88< zW4#>dYm9^Qc{9mVyPUnh6G84N4zS+)5dNM^5lEf)@G1^C`Nlf=cA09YZ-&vt>rcy;)* zzPQ$6euaf}EPJ^K_5ZaCTUxx3iw8sW)NeS=%;Eseb$Vv+IIA@hXtyRJ9Zm?`z)(D4 zpa(dgXR)9E#)0d37^m@5L3t-)0X62CSUc|KG=2wr*)d$ntJ%-1xpF+u@CiqV(pEj^dhj0866$)-~FUWK@ARvc|=TFG9jD`h$}SFi?X zN*?vdrKu_EFH>?ZY#$3jSuro5tMZJ#`nmLue#A(imzwrabsn9TOEoF+f0??sB3HV~ zg*QF|bY*5m!_mpQlb3CH&ZVVV&XZD--`%CMlNhE-B@%h3*egwP8Uq- zHHxV+kLe5{FcP0WITL}T_b1pyZbj=c_f+--gkZE=vmzd{? z#-jnB1)@2eo5v*|lU~Twgvj#>l>}!N4ChO@6Wi#13=0hI9)eCPy9#q%ce|3J4&D9*>xg5y4Y6mx+1!G~r zRwHhn+UFX~eL z$8B8Op95#>mS>XiG#e$;B3IIIPWKH3!@F{Q?B{{(hj!Iwsa6NrL%(xb{0PlXEYnc- z6X&M$h3vZw6=CfB%;$LqhiokQRd$iI30@1@@Prc6`w--DCt-zaoZ+T_VBJOV4p%*= zajUw*bx(8;l*u83sZFbg%6U<=l>LUuR5t{8C@}+p)60=IBM;xRtJ%+x^g>MM6dE|A zRcM%WTeP&sa8peMU`{KiDbS`QzZ0LHkMstlpI*-1>sK3Ynz6}X`c^A9+|(Q`W$d)@ z&MEaB$CaS=J?$8mi0_(S97qQdZ$fPsyL1B3bOaPIv&moSikZZ zI{a14E7T}@8yq}_h$B&M%tycAqW*k8d->sxIcDHcZa_anF~Qy%r;)!zBlA}rhORE1 z2ZPx#E&6#Z`-fj*(j(FNI1WkBVKnBk5BJK3Fm2WP(xcH4j3a~T?9UIHD=x|9OX0q^ zn(=s*pUuPAH(j&VHWIDGmlse#$5@@37+;QxsiJ7uR zOlLo(9>cSl=eAOLp7~smQkOABGwI%FUJkCXKq=yfKut|U*hj8xrltyPx!6yxXQ5-A z%-(@KD4qSVr}(KUkMu&5wraa*LloZ>89}Z>dI1kPH)f)OqD}RwcFLb+w-eLNI_5vW z&8J}}iEdTebTxze+A!v_4$C~smvU`Sh0)T7wa&INdT63JDqFb8De3U{$d(#$vdvfa1G=h(`j^vHdDMRch^4pW zQ5jHse-wJVg-lnDHqN4JU5iosZzGvp%lcg|8gK+Ew>qXV$;T!C#znp(?1j+Fzk$kJ zCb7Ah_A;nl>(H^(qGRk)$|&U3##!`|L&0OxUIVB&nM3JJSx{9SgIQp7CSSv96^0sC z?|+y>`Z+Y{2wjoKGzeCJS2zF{!&_)zU%S-3^PE!eB$0Bcpp^co9m5NFXVEacrV}!l zews)5P!OG^kEf&B5rgSh(Nfm)j$v`!tSw`?)~i46qUSWI1)!8DlUuL!oK}Uax0zh4 zk3uT_0XcsxIiE*PT;tVOxg_ERMBp~8{)mgVDOAI`mOp}+l75W+AM)Qt+ZE7zAE9Vz zxv1*{oSu%D!@r!szXWH9$W2iwrn4>_%zifM-spVx({8Pv>0V4ddLI3kc4PqE8(mAg zwGDJ{6e{nxw8eNKvy|S_Hqh#5DbripKGbn_G!xU@9WMHdhHj*a{S4Et*V(e(=(OaE zBzk|?ID>eThU!bX#LVJ#TmttI>+HZGe2OUdq?s)uUI_fOfYv~9>c#p-XX9@%3>-gW zKVxGK1z{5h=r_=aevE^=+(fG*dGwa65DO->I87XYS2z4iDr3x{ZYD-17Cq3P-0Ko2KO+XQVEdf24P8raXH*bh1N zX7{*@LI20~BDUV*&P`Vp`m{dNFlebeLj^ysA7U7Et2;v^45{*g`XQVK9KUvhPAlIB zlJ7TmzWw!BF-&?xo5#*BU{w^vpuRbX%wpA`590kDeh)XK>oH`XRD$(J_dX8sR|eBI ziKcfVud`pK7o~;4dl-8o&~D!4s=}HKq8@k410T4}{eonx6m0qkdeRMMM=_fv;cr~o z-|V(jv?#qeAc{LQ6ii8&9Rub_a;>@dUY5%qus6f7Z7IiI;ebBk(7-ax_0T<~@rxWn zTd)ZgtVw^6x;_c`F`~E9%V}8xG;YlF!5mBDCSBwj#jsd;FO$7=fc0NM{k4SyW;Y>> z+^wR#_g=;m*y?eSZMp6e(Hg?lkbWiIkZ=S_EKGh(ZF8_q(aU0-FdL1(4!TzQ8H7Rc zvPnbXZ-ho}0-==s4w#Z=BRPPHYTO8>OUs#LsRgq>#UX=Ozu86CsnQIlBXjaNpf7YC z8aPwdzGAC2Oxh9|f#uZDX$V%Rg$7emW;*&FHK%u7^XT`H6b{f|R0lHM7TJy*;vm@K z8+zY0k5&lSdp6h|(e3uqn7`Z^%YU%UmAI(}UU<#DPe!V&dk3kU{pNqNnZ|xP^BqH{ zuk~_+X?{~4Rh8128B|rxt66$p9wjq$rkiLV%f|lmMpzxqF&qNoO$<-D7;5GgxGZSE zjsP=umt2bMVOTdUJfy>=Av8c6xi5s;VivyZyL$7P@yM_~1H5RXA+z6ym~BTl56bPYHWROx9@vM<~l(AXMeqP3YuHg{lX^zqCN7R^ zun7srd@r`ZYHKZGb^01tSPi#HBSt6_UQWFnS1u8iJKbOu!ck|MOk(tP!ja=Nq4Va5 zokeLbG1bx0gm>tru2?|H(U;D5pbTOJ3_YO9iN*YN?EzpdPh&5?si!G`*5d&%;blUwUtqZK2sMt5uj4em zhsu%q@Np=SqraWws=SUlTH|um@)q`sdP!#E3r4ZmaKURSGhL9a0x1U51%-x-O)42} zFbxE!lo&3iUtonPQgk#wV$eHI>+vnu z?4;T4f+bq|>NfpZC{MGX>~fj(VbchM>DRg{?!%@b2GcTK3gk--7aeHA*+AWQET$sf z`&fLzXxCfxQHF~?Z5o1N?B2_NJPr&aP?dj&OFHBqkz|9Z#Z}Jf(C_ubMD5D;b*8lw z7J4tT2_>y?)f+B)F9M5G5f?e!{6t(?#{_Y`XnOoOs)Pc5#(wa@$B`7!D0wX{Wvi3- zL|m5tq>bHfP2sZFG{t5QMbTleX;QC;l*5wOv=gz~Ls9VBYZ{pCp=cbpr9KrarHG$o zefTkZwb8lg4S^m@U2wuS~!+xxJML0I8pQ(n-<_=J+>|@cX&&0CV@+)k@@w+|{ zs=!*&DeTYEG+kSADt9L))-+77tIn#JI<<0oU1evk&Hw#(Bx)O~IxDyXX|an3Rh6}M z|0`bDtrBX=s>-$FuZ>t0uj}j*1W3**tE-;YX_Hk-V8oqg&Ogms}nmpcfE z!x4J>N`oG|(m-+&9{{-hP+c>vOfE$r5WCW#Yg%PBVAM^A^2%8Vz)yQk<+KXxyRyo; z(x6hRq}&8ev#&HHw7=3IR0s^<<9*K$y(m;xI}LbUng%cO_UF*-!PaMW)kG_*-j0d6lSho@!X7!TPb;=V&LKJRF6;qgQH7k=rxn{F=g{oI z?aKsvfbcGwHleakZc=zOt-M+~F|pG-5jyU!NPn@W2{!;iR~YWQ=$qen?yy~yWNVK1 z#v=b{nYHS;1R@m&3e=uxrF#wJ){oS7?yvQj?!5&tN8=pqZV{yeObyjC2WVY%ZNF0x zY+S4OD>l31Xmm0C;wY!Vk`JR3|4Hy)qs}%Bs)CR56qw4Hyj9p48|64Gna<;}pSl8< zn{}qafE#VW`LG!Yu$Q-T8b1muOT;l`h@;LWv-(oRJMv@m2M%%X$102xHsKKx6!Aw5 zWdy7;E~(-)BtILiRxNORat#;oOb$@gX@dL@ol-tUDa(OjV>A!wU(#|7q9>vj{ueb= zqK+4sb9oy`#o-5Rkhy>t$XT3-YU>iw4&ZPOB53wn+c38GfKwQ3ZPMNsLrx3P@8Mg( zY49)6Pw#3_oA4+Te z#;(qOR3|^olMSNBqsbiNr^o(-02%Qc>UlKwei>~dI&h5~BqbHX{x2s`%P@8AKeYwTlAA=kCZw8U_ z`q6gEl>yd-!m#3mhmPk2gScI)5DzY}TlwM6oAwoHTIDU}J2`Wc&6$cCL#NlIJ=WQb zAcRTtI*b6qP5^iujRLp9AVJt^3-8dfxfe=bhbHCX@6~>85b~;4ZWvUs7NpLQ(d2Lf z@ao6G2$k_{5H@td0y5WjHnLs?8}LqB4HUMXXEdP+LI9Jo38M-E4+9K`P!Whoz#uvn z$zwmJlWSe|2GO;sZK@My`WA{`C2Pas1W_{}0B{T}c4;^W4Z1<}2cC!6tqrB3x}>KW znlO}Sc2g|6wE=Jc6v^pO#Ebe0A7Lo$5WRy#P;Wr}=H<8;gXkcRAfkX=95^2EsOC;Rt!g~at+Hki3j%xB4cKZH4Q6Zyc9x;gSXQ&KUK|S_V{b+jL zoeKnSHbBoW1eO^@$_?dra;`I{qK~=I9!5It)0Sc0`fapSju9{h61my|%mcvhqNOZj zNvHSa4TS5XrJb{AoAkc;qh5v9YjXa)Dn0rA)&S7!E*x(dbVm93<$O&XmAV}bv$4=d zG-Ks>HgVL|p6u(?WdDr@o#!16DNR8<^uT?E1@uAme#23ml0*8d%Dxif5`<#Z%NG(& zdKzZ2A;;oQAnI3OQ>CFnU6w@&e5Ch+22{A(X8wh$iJy$@QQLjy?8Dc9KB0mhq zQR75$Vu*`C@t-57)Osu9=PA3l^OtkJw4OoadRB2j{!)mB*RRHWx^n4w+^RBkTI)Jy z5WN-2#0U_sz0ZZU@{5GN?1#F^v>37w4B0XV>ThvJjyjg{0yuv_zkQql6ONwNCap|M z=U^1<5Z|OkYwVHpXBW0t57-UxIvM~?b}zO$9EJM;C{MlEnJh7g?zS`jRWknG&Ilud zlhKROF7`AToqrS1RvYwPDPuW@qN)tkHUY1dLF*uQ{O+BD!%Ub!ZjaYzj>;7hH-9KDH@3e40bg6W0Aia{_kslj%TH zJULHbhxr@53ijBPuR%edqin`qxXeGp!SsS)YI}$u78m)nz=e~E2Ge?1uI$>NM>XkB zkxVu3|0|LbgiZ7uWevM^I3;Eq9%`xvQ`YCPx0x?BJjCeN1BwmijAk#x+@@z^k{yoA zhohM0RsbzM8z{+Bv=AdRCm5t? zh3-~5qrEmrcj}qssckiqah7MCNGxXXG7bpEW;ec!adv9~o9VGg=PR8rGrGgYS00=m zMsN>4jRRt^$%%i7vvJ6OasYfQzEkShFTd1S4Wms$p^;2qYEV#C@&YcwFOE``s86Fi zEsTz^73-Zf(x1wnYS)cZfIgH3pX@q#-;2B6+P;~Tr>?9 z$}~hI;en+pi>xy(vZhok=%i%^wM*os>cGHD#^U3~ad)Oq8Y|=^0BtjH%mBCeiRn*~ z*Hu}cG~&QgI;T;?d{nC%y$Uw?A608Q2Es}zG|r+g8;uOjhd%^x-~Em%XSZc~-Ry7SoQxoPWTnggz9|Q!=9l@*Exg)W;uT$_}agf%~X|LXD zbf?y)WT3rrgjJR9bRHhW)S33`Ii_hf^G+`=Fj+bzZQJ z`}0qPg#w(8Yy2>w-Xm8x0zCcri6KALL30GOiI)j4*P+Z+GQ$LTy1j;I{T$$VE@jXR z8$Id1=!jx2;$oJ!6tU&De#aTTE?~dWlkew{(Tj)3cdLBE1ArHe4#)N(7?k-7do~XD zw~FaO{gOPjcjD@9zcw*H2E=v?Lu7#U)HYsV|4o-ma9rFQ4VK;9ks|}B+ZcP zLbF@qH+Akp5$A6S$M$skI}$ZsZRxgROSdVEEgg;qc$ws!Zx7;QJV6$*(+g>KX$pt* zzSQ*y(`;Pbl5<=EP)N5#vG3_YUugB|JYKrQ&v?{99zC6bT@7sHA#xwV!H58Z!Vpu_ ze!<=i&JJjL3!+@OxJpf*;rq-Z0F`)&jdYCt6j0H)*jm96RcN~l+G<37z#%>Y;L`(Th%oUYD4i`35}~m45{O9xu@^Yb5r_&zC>-b3qopPyLg7%Q zOhAO5LVX3k3?WH2sW0kxD;Mz;uH^#D8Q4}1=|>oTF=+Hkp)G442l#JT^+kzl(x828 zP7<}LpK)NNlIgNNxbZr4pX%9LVWOuI$WFsh>{4ti=rdQjvh$4rceg|`*-Hr*+3%G0t}97yrs1e3?)J>YPGf{_8Md?>2hbMUAg>i& z#<+;BUx?EVOM>*AhUa?dS>eegP;{H2AYCGn!OwUJ(>QDgL-aOiV;uGvBbVlJaX$8o zgE}WnMIG1TK6Lzmi?E;mqK#v^4DQtEKe17VMABho!WD^Vf|&Y`!}K;16PG^n@IrV% zTgd7_&JqYG@QM~<{XZd;>Vw+oWeuBSbF*xwyyrn!<`1!H+89ltmsBE!amkW;XXmto zcr2PC4|a#xq%by=$3Z}&y@ZO^@>g_rU%gyy3|lX8+8ho&p_>j%Uk3O|Y1(r*z)Rr0 zjv|giyZKTl)6F6ze1)we7Ks3dkgE;7urZ2m2pAovu6zOXGrgeU<|J*1wjf(aFwAh+ zSJR7{G~#8d5f8;Rq9TmeMc4A1v{~ybhf1A$P~o6MA>X|}^{x>Wc z6QjZVEt^EGn2I7T9Qc5BKN%KPCd68k44KLrTR8AfHX*eOtyJH_<_ei+7#0Sa)54+s zY~BY{ZeW<%!scDVK&D`*Z$W$PXY+ng)&(FnEo|cSqe&hCnFWx@el~GbjJh4;09B*q zTneabIR`NB>pzis9Mia-Ny)%8xdrX%Is(+)5K-B}`T**Q&q=W~lX_%xfUcIrbCFn% zM9GFZ9P_b0Kqg&m*(`sw(=ERxYn#O0%fkE!_hTQQV-96%tPmGqa;J+IvX}H-nD?Y@nu6evtigr!<|tG;I%c&u0C?L+qs~EtHf!iL)V_Q|NY? z2G!(;Jt+05VlU6;wWV`u+J3I>X>Zn=OPtF7fke+i7nU=PS<9hIco3(FpG^HK`q@z$ zmcj4{Z_Hfb~Njo>*elm4j9!)%_+COwDGKgj1+ zO`7BB=pK`{YU6;*q^F{L*rew*46UVTttTY{7jgo;l%5b>rU~;5i*d`O?ZAlVs!V!W zn}^9Z1N4~C;w>e(YzH+vv{A~Xx=A|$rT3wA(W3}h1wSO^yrv4aT%4QqIu--CPge)4 zL);EIoUQ};Zk)@9%XO3926B^Dp;B+#xPLFW|6<|3$Ew2~Z4HZWb(8*%T-?U;oRUfV za6#sCrq(FrKlp;d5(hSWSK9?PrcfSrDLfbS^r1yj+&x@qG2>+R(&w7uMrw)f=Ky`K zm7{U#R~YGZR3>G3e=uo2$kfL%eWlfNfaXUrvcEy;dJ1(tg8PYEG2lxnwGf4}pO!@% zFsu(~7(us1F}Ua>3EYZ68htE*r3mz;Pb9EJ1wKW9aq%F)q*rkfn3(mVL(u8m7=0ak ztZQAs`)x$<&Xd45DllIHU#q~cBybdg{&XDzd@Bx?p35P<&(|ytt}!rU19ZM?msl0( z>j>IpzH6Se$rqT~Xt4_mm1>jEBYR9~lj~iJ(Ri{>+$0A`^&ht}Rj!>&Gq>{+`j2FL z5NVUFL6r1A)x9J!&F`Rl$&&d4bBOw-deObiWIx}^e)$*QR1YbgJkY&-dScy6QoQaZ zztW+5U`)J_AeSOru<_maeP7D{iQNR`z_5}lO|?`7?DFMV*q+vrOVbQRqTHd|#uqcs9n~92bfod* zdKj(RDf;hPk_UR2FZEUPOgW^pWy&6aP%;}>Aq-%>|Tp_A$NFhDLl^TgS#+(qc?Vc^&A2l%!Nj#H z3eSNeBMAz1$oZ={!0*~K)ZQAa$YeD`{Wo>P$IniK#HUe!FSdTEPG+ZB?C0CqFaP2j z(?kiwMcRiaoSWijrqr1Zy@Q;YDL)oD#GaX|^PuSNhPj~zgEN`wG;45HV`fT*hctuQ zC7y6*(q=iO=Gik-`4HeZ7ckthwl@KF&y{U!7zwYM$#LJ@`M+35OdUG{3U6F{@9g z6HaY%fEQb4^stdi>trr6eQ@qFIrg}KqZsZ-(=*v?q_TbBjbzUiELUwm@xMD?4j55PeH>umVu6M^Y| zP2J46-^ODd!uQ6mFEl%8XE@gf)UAzx%B-!iGj{;M{Q<8&OhL7FfU@rxbRac(=CtZM zJ97tscBHm;fP%rlR=-R&dFsRMQAi@M!dZGR2W;kOjX}lkN^OosdWvw#jw^YIrPMpX z`p=KWuHdvj(y z>OVr$G?(jZPom~>xm*ZnSu<;EvZhu~ESs7&sXD8+W}`Dq2j2Sa#EQ+y;%Nd4%4Xj=30Izf<1%riI zIX)kLbJU+&tm!kr{ET8-cz8s&GtbkA|O0B?;A27?9iKM>^rWr1&GPB7^3Sn5It(ccA;A{)Kn{PAV^#$=5_6#n>f z+Wq4jhSszCr~N;^VLzyRVCper#yBkMbV%!sP8-ZK|5t`iTyudlguyUe+qdL@FUi*- zpD>z~(5`mz1F-cbr-I8pNpXYT9Z()W3iJzLWhh{BwC^PZ!60B z=R_%LI3xKaU%s&*T6!=>vq!Cb`AcFnf0USX=Lu+*B7Eop`4L?BLdjrle4|57I_Fub zCnHC@)h35FotES=y@$g1DO2NDM)t^@g5r_kFeZi^Fr<`?sa7h7c>pte&aiMeT(&!C zmhCRsfxkhs%nTQpVe4Ch_8%nfkR(03&4xmi?u!tr8KB zuah(lnq~5o@IpmIxQsrJ)lR$HuAPV0o|$y0J=q|yYzG>>Z1?V0Y`56eA&w zKV`f1?6!r$-390r)z8xZS*Z3~J9Y<=4oZV&xS$LR`@-D?X1HK?P!Qgrchg+16$#km zEODLs9;f!2vY~^sPq+u_B;lH}+G{$AuIvo9qNb+0rn6gt&O=laDyzzB8alyuvO9&9 zRdp3LRb^ANCQhH(>E%IHE8HY=X_~sbh=8tXpdO!ivq<6$&4QjVwR++dB)QtfSX(}I z3sKbvfdpJ}1L+7b0_wh-Thk^^pNU9Q(`MJGt8EE5dEG^CwKu6cou1^u4J$D&s3$wF ziyk$Ij%ex$4?TshmxzDa5q6ZAKUROC;IQ=^pWoGtB5huSb&c`ngW4#o^Q{9Q?S8i+HQig>8DKbO_*GX`@9eh}V+w9;Y5`57Pu9x5ocJNUtCf(>lTkWWg0upc z{Jqq|qv#B-Rej#ear?O0sb58B_=T|v!5C02C8z|zulhpc02R1Q@OZWg63EvNr z8TzLXJYAz}e{i+woBx0Pd&q7%`)Amg@Z~f=>g;JWm+e}>L(k|*%OOAw zEA~O$$Iq|{S5B_0n>l=Hu;7MaHw1&j3Vg-I*mC=PBYnQ&Ecplf$*e42Rxmg$IBeL+ zvSI)QvwX$AtYZA}WdYEaC2&Ed9~f3p;43aD_5mcT*p~%dBdslMRt#vQuh_u^1jSjt zEDJ2_|B+-j&58$VkMqr`M^lNVx)j4Bq=Cz!~Y-&{4`7< z1ykbBzqh!YVZ|ehAq|DYWx+AQ%YCw+X(8-tm!Ha;u=_?=c!TU$1%qLb~W+SzrwnY1$bI&J~=*alBm8@zDCXnf#~-2k|?e~+Ky z5-}{AySap)#5#KpPVK#kLuYnW?BgRY`8Ore%uEj803OZU2*cvQdWLO?(lM?LREJ!NNn!HIg(hI-M7dcuy{=0rViXWZ^YJ!V6_qh5BR zHrN^ehy6|r`OX1P1U+bbGiP%00030|0oGv+FDFWLI3~&0005clz0KG zy=k0eMX^47`W!Y<6iN35k1H;SDDEg$jXeuJLo>|uG&4=pb7-2TX^NVfqNpjFo~l9t z5fKn^1DCogiinDexQ$SHFJ3nk^oqEkbyX0qiW~mj(0PAPJP~=aH+w$3^`V!_CnF;x zx5&uI$OEG&+P!=C?j-7)J@8@s?zi`WarBIcpX{*(`D2Uxj3U<@aE&uv^923>Q2pIi z-0^$!3)dWWqsbd$*DSix;%+>2kh=Af%4FWU?F>Y4KMX!|)3 zMbVQ8i@Hx`z9;JcEM0e0l5g0qpQ+_8SGllq<;=|7l9`&BQkj}Lu&gXAcbSTintM>1 zdr)awnPN^{kbC9MFb60OoFEDUD)8}r=lkb9?>Ri2!+GA9dtBG`Tz93>8JKH0XdG}3 zAC0GNXHTex%j{q*&{lhI%6q&kjkKr+*G&tl{R+~EC}66? zo=_=93Vbh2b$MGatX4AgrI5schB80x)34hH5zIPIXwhaKMFxQkIJycS>ub0Mv}IRQsg1um5U^j68oQRdakCV7C+IZr zo~{n2VpWvB+S3cp!W6Ggm@|!o1|OPmmvD`6VNw}qv8Gns@7@@PUr{*+4AbX+FeI1* z`v(0p5z^t7{EuU14?C2p!UE2N5bQH!F!dA4W*s_+A_WSWYh()3%*i_F^WG{O^~dBe z0r6LDfeIK%xKCopdbWo>@OqF1lvN3>f0pj+pc;M*bBcz#8;2h4yBPV6{Q^Z&AdF>K zw=AvHN%na1viaR3+wYy*-nk7542@v(dzclqp}zWmK!{g{aSvdg8bBl?Bujb_63lR# zr$dVapa39i1aRiGYp~6RmZQ=LyVl-zt$ZH(xTNiu_uN%s&#k&q= zzeCfO^AAzflEQ5+;LTQA?%`g$+n_0@nWv-|U2LJ-<)d@tj3xhb*BloX#dbA-xTbSpt-VKmLgsb97m z^jXK!1(}TmS9V${u)EAZ9i!P=z6#Iue-FFM-Rh!J%nh_vxCi&P_SYWf3isZUUCqvT zYHVXP#@&SdcIaOxxkeZFDo@$g+TQJ~c2|tA21#n3kILuqviVtMfYYkrU7_U4@T_MJ zg6-RnG_JuM&^05v%Zn!C`k)L*x66Fp@6bBP!1fyD-oqc{kU?)DX_|QUupO)NIDo8r zzT;6+L|qw{eBM0Q1VESXVj2HR?Q!`$6L>DNMY%TB&qw*(@7D)!$~zq$nhSfrlqWQ| zEu1d`9hp^stWb<~l#4K1GnOrpa|H4#?W{+y5MZTGpXzqbENPFTOvMRzZgvB& zW28Va5A7vzM!=q>{nsP+46^N--iP4$&Rp>snIIH8ly$Y3Cq;-~j$RK{7Sn7>zo{di z+LnU2GP3wixDPYx^UiiB)0I}e^$oaC+?S8Ut1L$(`QxDmQUlStD$H(zfV%!AWuTLz zd@@X%T%ERFoKCu(<-|`3GMGZ_U1Vd6M1$Zd_ z1jr=A56gN}8n-pV>ONe^I=K4E$@`B$H$gI82Cmj3v;71AK22_f&*yz_4|6)qn5<+WRuhHV6 zakw$3*;2_wMzj|r>mJ;{HZePt?kP}O%TDgo`+g!cLUGtP$O3Wf&kAiw$?r&Kil-KM zm<4e^6(IDttzCqWMq79|nW_X6 zKbLx=Y5B2)LjAzMPM8Szy4gpt&y|MdJj=hhe?ozH-fID@%J%!t|BhUQN^OUg2Z&JI z4ookssMv;H2rIcb{?IffC1b>yzs2;jk^oU_E4Yz-Gj8Bs3FqvaOvEZa6ODpf4-u}CzOpYLKUjr=m!L(GD3itg|WBXxuYWp z4W9{_7Ff9p?)#==8AJ1{l4fSl;)@8&fA|+_R<0YrNPCd%wSIa2zcE&VfBgMWM~zb% zQmAi|9HD}lKfZ%VaLDnU*gbWs^*>WSma5~7A^HwFYW!&zJf?^ca@WRzF6xY2vDfqm z^P-leLOnE?HCtiaEBS7zjSiNo)d?T^=^|fku$BhTUY|~E4gy1xgZO9f26dx%0#_pv z^LK-$2!2nLHN>&*$pzg$L|{Vm6dkVR=b~ZcY5b@1Z$f?px!3&ifgc>ijs?De_EtVN z4t1Q<$@(%m)|`hHxN+X&<6rb@d=3W+#PNHa+6f=c%qTnR(ln-OLvLIz8MOztLv~if z8=vlJwEg&Cva)%%tZCW0c)T?$Oq1NPPns`z51P9T8mn+5JUBbf=Dy`dcGkjRnH1NsF3RLL!Ggrhq z<#-9=O^RoGoz5V{MB8Iz2Oy#S%t>nM6&r$8t34*k=?gan8D^C3` zZh>UsZZ{(--#$$r4f#Fq`@+No4)WH|~PCb!#z_^(wx$Mg<{jJq1nSz703eLC!}%vOO7q8_)c zylU!>iPRe>FN6UW3tblUeW5SBJ zB*%s~fAE~aGS|J_0-Y5YN0-P;A5kn8#BgQpGg;EZjOl>THYjo+OJ%_l!P1|GJ+uc1 z*Mh26rq5FJp$iX|YB61qVd{4G0aN%-1Ek6&(0i{jea zY_Rf}BKa9)#D5iipuu=+QHCAa2Mvy;&4szUUdmr$Soiks+3rOUM7Q@=J`SXd_J=*G zKkEvWRkM-bPB#KP>ARQpZO|2&PyyBf9f=aTm= z%+&j)l>raC9A_c!AsnlN=8?O`IA6-SqSM9sn<}KB;o++3cP-ae{H_%>WpmA7tZEH@ zytw6skPoR@LEZfm6K=gP7V7%TKc@LZ+{q%ZgQYWyQpcVVhtR+2MMlg{^@+)}SAJf4 znLf4Q5(@2*=9pJsRa~x_+*yC6o;y&sb)Jx&0Rjagc6Sb{WdH8W%|A4~#C**bRhlhd z-qLB-t1uV}bnab?hx#%F_;vC7%ZqL;xLzL`$!K|cdMAEozXexMk}(h0q`(m|oUhp# zmx_DJK#JU~3oi9&(%ih|039XfmEGg0ndUMcEqzD%gf}~?VaeSN!)Jfv(#=yt$U=;q z5}fWSd~}*_pVPAw>yD%LMQ8DSVu%#r5y{uL|04TNV`qw{zkT+3PeK=oP8uw_kBx60 zJ;zdR+IVPnv>T8up?h_KxO>@eSb4VD5}Gmo2m<=+F}@7Wa0@?48R)AhN6mQhH<~$g zuLlGbX6KJ?wkCui+vh%n9U=-y$M_q*dTmw_c_c7+^ET#iW!j}G_IQ|XATxZLtWKf* za$0;?Q|Ql3Cbz6DH@*qq`}IR%)8%JD;~w?R z_`(f;vIE$DCK$pYhl<-;?2W&@b3a;~bj0A6_=6I}wO!RS|LoTNA&;%bn(Z()5uhG} zsNq!xdE2hutJ`P3t`jUXr_pD{mK$8z-AjzfMd0^mFK&cb8OVcGLo#~kOFI!wc?@qe zkCb))!-hudc_wNVYQD(RBvSm9?<00yA|YRe{&;A)et%W>I-t7zrRFx-S9$;1W@ueH za`SABtvPAhvV`94H3L$Diyd6u9+}i%s8H)$L-?tfQ-jq;EAQq74C=zCugrYF124nO z9s|z*nf!oluE|6NU|hNyvp(c42%HKucysET!B9nI(3-*`Guh!xT3P=)QEJzqADijx z7Wj!(C9*%kcT;pFHNz7s!WaG$Tv-=t6By6f?QYujdtWT{kZVK@@sAD>71{c-Xxx_l zIN0pZ*66p+cp^`Rt<6?OOufeNbe)0K0mxN;v}2tTc$aVOg3{VafUFsd^t2NpLycKw zcwWSYY@c!UD+2{H+06lb6fQ{I1303<*7oiW{d8j{?jtxmBVGXi=wHtVgP4eQgTfb` zfRls;ohZLBm0FBb!Zc|;{?+?P=}T+n&)MqFRY?YiTdzaRSDYS(+(}0b>pz_lnraPD z*@F92|dpZ$BX` zvag>%4e`P>MShyCuy98y#6n%W{Yz0JxI1Z22^Kqp*s>;{3_le3t13Brx4g%v@v*r3 z(!!VXc97R;*h7&`6O8bek~aR*)ZxPhFnsSS%VYF<5hlCnZt|$i4xzEL zg1R$UCHu?y+X`R0jcu^dwFuEpywzC|rBFM0KEg3qb$eW^!MijOm!D;Ky4>G>3C--0 z)K=22MGk5PIZQbh2=0Mn1P}d=BHnEd!CedgG+T1r#68p3nuk%0 zq%wG*p4EFHxT`ZWfqVGUxJ6WQV$DnIjcdsayQ}_ex?wq}6a|VlTJq=HdG@|Y>_N-X zJ^S!utLCy`0qC#6Wj|F_&pMudMZ98v2xFx6UuMEUZC-N7L zZbrUc0$8JZ<(Jkk5&~E2It!)dI>~lX*2rRROiOm*MvM^sH}DNu zJ)ydPB=D2Rrw;|1tcr^t=ms4&2qp9yvDw0)$X$g&SzJE(OxZln9~Q^Z`Mo-9)rQSq zai%T2?-?2tKq%v)5_+@c|E(dO?vdZCtyY!86)uMX})LNL7$(Id1xd+5fh8><<7h9v9d%&hR5k@Vp0xe%mw za>c4JKLK|Aa)Sz=(aVp~B#iD|q`wOEi$DB+gOTk+IX{O7{>Y2aG0qvN;z#iH-K<@; z#5O<~r-u<{dio2U~5P)vxH-LfMc7&lJ{No8tor$BTMi8O=2u~{9Jjgf@p{5g5dm*px+V8 zU1TO%jpP({pqe2nz_fk(rtf6wgK~ee_SoR2dW@fX;zL$diLTeaH*|KTo1(N2*h4B z^e8kuW@jnKv<57$Gn9SFlb{c6`x!h~L|~s9(NYFUHU->!JDr3oT?bZMrMZNM(MUc< z`^-S#ic0$UBW~DMr8cVQ|F@vACr*JKc5IhkZk!(F$e`Nh14YH8_ss0u!8iA72FE?R zXi+&M#k12Z)Qe_+M6dT*>4HuNak5F^ySR@hf(92)9z128VabjIPW=hKzyz(@WUT+l zY6SSsBRb(x30tv|sEy{3|1yW}C1aAluLEtoc?msK+7RYinN%%EA8K~NDX_&cWP%Z~ zjlaZ9RMAcnap-u{cY1T-n8)iPm&DNCS)u<+%1@9V!rn^#7#G5(Nsm4ADk>ymZ(U0e zq+6vfe)&1hV^@rw%}0%Z%SBo}kyVVL0P}Jikp~g9XgL*QG_n!Z!>rT8(Xs3Pp4|H_4HwQ9qb0XB^ zGBWGVBlE8nLH7Be6hE>ef%rr9fx1_haJG38YKwj2*nZXLoWQt>gZ5%+f_l}Cw1<_o zkVw~%(5?~uG&{JB(Mv!)(0mxP?O4E*tS#=-t(otGwF3+vlpUc}D8WC()}QH+RE2wc znir~yaVidhuY0O*pG$<^k?DT^oc0u$$bb#DVc?8g@!xxU7DQFd>0nEkIR7J)$FkPb zGU#{Q(a~?9W?7aeP<)ae^0^@DI%xk}CtwK+V7QT#fE3odyXT3< z9SwkzvC}KAovjz<%8p=$KWp?gp768d3-_KEBUrLN7mesvdTx`zXmqQOIEP_G?Go`g zu@8A#iN8v9Cm@e)(H32ADkMA7*4sD~P}5<@+rf1fF7Pf=Vjz*V{CT1z6!Z&!@kYNP zUW{VDK!rBbFe^_8!I-Bj!a?xQDm|C#yhlBP%_RU+6^{wXUK|ggcv@C*c6h<=8}?)V zyjkWcqrC#7d)qm3#?KP5OBQ<>l~uBbF1pu}@C!c7j>PkXP1~H*HhXotwJYF7SE12NnUYnwbGiYuSN*^dTMAuHi2^yeFt)izIF$6 z$$UySaX&zjQ@uj8auM0pFO``{~)OM!kFOF z#77VGVZHB#1;H9@hs)04lSc z*64pRtYKJ%9eGB-R`74RI-|{~3`0yG63d2*|9%!ka+;pYQFb`s+QJik1>Fi1Djru}k8-g_yGhZ@{cQapROS8oXUP*SrBh6C7sz zZxXD6{Xsc+v4@4QIIHk^R!3Yx&)nzka1gQ#brW8+u3Q1{c)+W6V|`Xk|NH4>Rn3x<4QNli3TuSqDY`+r1e8Qu&crCHhv))Z z<@J*D8mugQb3EFS;|;oqBgk~fB=|(~DrQASRp9tN_@(=sojrRtuS|B3)bQSq`8SHx z_M>d&wmw~mVwFVjQ%13w=yD*Fb ztNWzoHqJb|`M%p4>+X-LB(#TVQ|a5AJAz~TiV4TesPu(ch3xk?u6i*l3BXg-@(Z-Z zplzpBm!+V&(0}N7swL->FGO^u!_pMa^&=$I<`0;jhT4Tw2G%lhb_JUqj{wm$M|$1g zH2JQjz%&BKk_Fj|EXnB6$ZgiyeA;wmLA>!7Fbn!IK=WMFTHoY>4EP_?R%Zho1o*n* zE3OT6v4vUA;A>;%(XO_`M%Sy{zMt-2EX08zD>|R!c#nCi)W>;m2j{GWb|MJ0DJ>H2 zA7fUG(OPryEFHe>!q1o~ z34;0L!F^)WCPoa?MJH;J*o9jgYJ>*0VmjHBhtLcwGkl1{h(A7CQW-cX{(}_(J6jkN z6SPiw(aRsNf)RzYEoOpw+!N{Vs1Ly(G+B+-kjq;?g9Jn`U``(X0v18JZVcRkRlizQ z_j9}HV3Za9!Mo8qs(G|*nG01meFFRwBE&uzKT!*I2{hI;Vn^@ibo(^rQ-`b`&)48H ztqK@AWKoZ$CdvXe{it&*9(tLcz+_h3E{_O3(orxc*31#vM17>puWPX%ex)o z1q#@G=;SSTQp1G}z6@CZRf7b>Csqb(vkz`YUwpp3jnAh7mwV=YUBoET)Ia6#e!zo` zY5`Xu=*r8mxyaxgtrT)QyEC;o=!{D@NTaFy`xZLXC6LT}Eie=1=Nq4GxqEZWO+?!4 z`EWp?S*N7Pq+WQdS!W#p?L!^2**I0%9FN-gWmYV07WDrM&X~y;T@YEXntJ++Z(T>e zD;IqFubo=8zz(YSJuV1!BT)LYqb(*Ht?1U?xSMM8-t&ocVFD+P8E~aCbj`f2+iqUB zlNfG=$)7XZNMvwwgw5Y^i6ly=jsZX-tLAZ-k@LzStTELS(m0LW^kCxW{B{e;x2Jw5Z>k@MLT^=2P#9u%?0_z%jSnl04WQ&^h()!g;$adeaQHjN=B7b14{X$W06VYCZT5r+mO!%WjLA)YyJA_h43te6ru%+_ zd06)3=3mvW&Q<7NY76xyfrjepajd3BmlB~1DVpApI(?SuQJ2MOvahc9LxMMo%G8W^ z27ic&(6KbX8AZY0nwhr%mUlmRgY0(ce_svZc0K3EDta3}PLsc*vJL#r20SkpFpVA* zxCD59++1Hh=YWx#`TZ)n^f)!U!&V26UoamPzMH<}P5mr=BAZ-(oU}{Es{A#jKWM`9E7g4X1c8;I9c^*M2M5i!4 z&-_u0hyDXd&Zf9m(WsIQW|P?TAO*k{Uh;a<=C$P&b^u9K{mdNz^xzmQ@ z%1bQ91c&qOwk#(i(G$hRCI;rmNs?`hyz3&Fv=;(I)Ae4)gJ^!J?KChiPZ`Ngd1P)KP9Ghd+7v)Q3AH z4Qja&*rADK_q1H7nE)-Y_g7vM+IPP2P33;N_*fHmUoUWgDH$S}-E$ZaP}Pttm+Dy? zOJ%Q2^M>R7Qr;#mHbffveL%V6SbkR)E`XH4WNs*`=+r8cuBVG(on{0TAHLst^DM=p zW}&A)^+HyJAx6pw3j(VV+bIIR1qx3)c7DrK+i~#N;HL>|qc~HJGyXi#0b8ueCD+#Q z@e(2gCKoa;q-mgq)qSEug;@KD0j7vDBmVlo-jO%BRd^)p_tZK?;Bo6bUAq|Cmp^i%#74dYxp6EnVym3O7`?pQTD%vc>d=9d=v zFFT*4sGY)@oQ%4k9Gv$%d-|69>!O=!$XDT;zZRy1#{{v%#v4t>_ZiSnh8g8Q^v((r zN2$-bZIw$haD7-b)$^id!K(d7muGwH846fu_t)BS5x4q_h}@sJ`jK;^&)6}<(NHuG zt0Q3I3jM0;piItuG4Y45tU*55d`ybsZ?$l3pW1v6l8AWn!_%XyZ@zZ!qbgKb_-)iY z+3MAFN!dW=A6V(n1k+*VG+@+vXlkj>Uo55qHB)4~;@h|W#av%^`ftEsSWF$5Oe8SrMT=JlxRd?h-jwrZV8zs+s1m zOzBa*YP-aNg|^*hzJocz72YrtN$s=RDaB41<8MB9@~S80w|zrkw z8hUu3mtw?PspuS*hjGtOHup4fhw%1J- zzhI@{911)K(w@gZ+k5(b6(F)_W5kA?1e{P6t0^mh*;XZv_U@i;4NWJ7MnhiC*z~k3 zl}7yQC15~NcMF3d9!2nP$cCyO&&t{IYyLx~*W)2_C#1WkYK(iNxp?B`o6uuBPe(J; z4R(!8Y;?n3;xpD9j9s?BD?hfxSG+epI3h>rwg5EgJpkbis`d80jA414yTzAEP zg7m$Xbo!kUILEQB4TyPj8nd2v=SC^rOz+rF=a5`O!s@Vq(^((_63qllq+pCUonwC3hB8HAe);~fS{QS3ghoQN{ z0>48RxGU~92DS7fe8LW-6EXTDy z&>k_~%XWr_=&f$brb4hfpFEMwb@=I1_ z;+@=Ii+=q~d8v_*@tMEex?%t2*u-YjM!d{Nw?(6WYzkyp?C}RfspVbB; zt>xwsS|iBuX}TEQgYbttGcP(p>PP%wJXhhC1x_v)Fzj)k?=QG9aYx5_u*I{G{GL5w z4)}X3Y)v4I_gRJKKaN;7BI64Fc|_N6z$iU&;hPTQWPsiya3p*{!ho)zBj5g)k52t; za*e#<<@r^)Bl2%l#muf~f*=`u=b_oxPIAEDf+@*?Q0ta#s_XYcPPVcPHG;m?)fcZ& zdrEu%^lB_iGX>$jP+Ep6k6~7QFtu6kIB_uj=Y3ZL(W4|EzcWeD_Dza=c}vgrTsXyQ zu+CGrKB!t@hh_E-t28{Ul3}?jo(AvX6fpiB0vDU1ReWy4&<0ltnH1! zSn!F4b01BVp`Dg$xCP@-ap_%+#G3Z|CM#i%7xa420&nw7MqZG)_eN9`&Q zng-@>AQDN+Fbs|5o7`M>E)E`%=Ppfp+U{SqLVBu_Fc6s5i=P7S3GaYU)jFP?@6wuV zdx5KG1px$(Sj0mc}LE4N=9PT-XW2)^(#!>P~ zHZ#)yL1hh9X)?@vxlO5lAj&7G^L4(xAHY+y&tYS&5kp~Qy+!u+-l7%-5~*#Hz>q$& zd5_2ooVm>#x)O_zcw&^c@^J1y^PJ=`?7O=q7Dj0tf8VCz-6FTUb+`KSAhe&_nc1Tq*;} zKIqzAm{mRAkos>PsmZ_D?LXgl16HR4pzWC_y--9aX$vag&2t#0m75=*De))C^LbRL zA-(Q!tNIU&Dl=cX_xhBvzfS%!;SQ6g`R18S1?qwTS>9q^t4a3Wc`6}v+vOZ1&Urgn z-ohD4b^Xn80F$8xb_U(96jGtbxpQ%3b#}zI*5Z+tPVvGR1GaJeJ2tb8NzLh&RzgJcgOvRsETd1`Z**pThrU2$bwlb9Xbda47;Ka`6yOSbuotSB1+ete`{9Il=&MmT7 zWx(hrZxXZo!-2l8*+jtVdcwfw0ju(T=NRGqN3IsAr3huizj?POa!eBPCK(%KZ8p1M zNfE&wDBm?$H=w6-*1TwV$JXD--A6QVmA52RQs5Tbmoi<4T_g*HNYWpH z{TW!;AuXpYJHbaq*1t%OA9`^b?yk6UjR7qq2;A7s%vid5X5iLW9hc|B`mar7Dz~f& z+bFY1u+|!RhyE%<1fyR%r7}eF_h|-6UE7rWWW=G=S0!c2YKluthUQoWSBFb$ zKQg+1&{o~;qU9gNEX6F z>Ppd1Ba7Zk56KVFrj-kCEZyyIm;}ijs(5_~3?Bt2m9~tcvJ>cPah(3(YPk zU{-ICNdw-aPCf-iQcDY35eAfbhkL;W!5eF;`6fnXx86R4AhGe85J*JSZheyOfyeYH2Wn`Et@a@Fl;%s9c zbT^ z!H>GoJZ5*vzh|f?0W-04no_|zm%&-mx_UHSqr@7+vL%R)#ki~lW;diGZ9y$9nWoRc zL)3coEA-WtS70(?bNbf!4#S$qPip_}#6XTok^mRMZ6x0t1uK}$N(PG{T1tq%F-5N55jfXRKK%%+%1*U_$r8irn%4WDuAy@7H4qon_oQ}Wp~cE8!fQERK_qV3 zh?EI%yu0Qt&>OJnW~*aL%=rbqv@9~VfVOu(2{<2PbUH5cOtvM_q;odD-}(t`vQa50 z-TL;dTK$pY>Bdwp=*dJm=sN_2xxa1S>|CO?L0%?~wD(Mzu(Sii4&GR}NICh$YWVAt zM+)#bdIHCn`_|cVt)n*>5WLU9D-7ts-CW6m4;L(>=S~zMw6nm+ptIk5WiYV-G3jn2 zZRL1d=9i|N`bBRBu8_;QY?)N-^j^GkAF9M&a2Kd>-pEekfY=cEC^+gx=?hDXKX+1ooF6)*0+EDxniYhvbm z2C6hh>Y5bi^PJvag3K!ruo0#NJ~Ow{#zb#c0F^P++6mMh$rkJrd^97So-f@QzsW9Q z#P7XY33W=$c1y)5r0n1T3H!x8_i;UP;18!@v9g&_=HG2Dcf-h_-`V6EehXBsMC{WWM1Mqd~TvuUvxraz#w;>%+oA}FL!6WYiB6I$H zR$~cr!r%L2?>C5W<9^6q36csoDpDFb4;o$X(T7m;nI zDdP8uAq28+Sj&;0^?NV(o&Zc0Vy_wToOp9v;iV9@?3$L2Z;@nVbI@ZnXM0IQ8|xE4 zdo3v8+N;Ht*xjfnI$40B2Fc?#OA^?EKIR>FXr+l4s^WEJ@0#OeJ~fC1`Q_vgKXu1Q z@)kK|xQL*AbbnlAPDU5}D0%7okI@%oyQcdy=paq$x!GXI-B z9;UfdA++4(Ta8#OCzzMt8$@^15m5=Ov`sC--;r1O{11j+OWyg;vNaUZ^@yDh2G(dqRpo&mtv*V~>LOK8D#Y|Js zUfYM~jSq}IS8Y$*h;bk35<}zU&!u9I9l4H|o;M17I4S?wRL%Fmqve$IX#z{$ui~gnCHu>V!0jye0uk_=$hU8KdSDL% zGrZ)Yitv%jJHxJJs?wyI@w183syX~?DFx2Rw+q`&olCpN8DE4iOKeku9NkZ1tK`5I zkIvpjRJ-VuV8u+dfB!BwZLQ>{fszv|ZO(qLBv$**C~lr#xxQtm-ZVyOW4)v5cgDV2 zK7r%G3ZDJz$*rnrQSK@k#9l^6L~K2IXGuCSeozoF+3=nCn(~@k!rgbT6}W*sYAoAZ zRuxTck9e-!IdRLpVuo7R84F!Y?%MB{$X;K4H#{v>Yc~Z7AE*O^0@og^(JFpXzwn>$ z2H#g+T?#+6>%lY;Rv{O0yPHpG47B+c?j!2INyf^LGqaY6qu)LqXp!P@Z4`8D z7s>a2DcF#A>pAc4uNnxmRQ^(wz=@1+Ybl7ZC$uvLGVfmDcL@;k+KU-Yo$7?a9AF*L ztmxeZqB|kTEY{>yhUK1dX*|6*gyn_0b&SaecQBSqJR!CLD#q%;zVhFN1PcMziQS>$ z3KUL3hrxdZqgU1frNwOgj2x6Ik=mVqfn1aUdpZK^bPrQ)onjN`kBJKD2%Pv8c9Eun z3z#gJelaGPILzwxHVUtyU`MIvi$Y>p4#GzWvVTsFN;N?K$#VaVCI~55{Zn7sILiI) z$LQDPzP}q>LUeax>CZ|ZAq?!v(NDk8LLfX%?2zp(^Y2%k{pcr_Id+PiF^MYW4dbNU z{%Z$AVN7jrG{kH@^rr16M8AG&w_(D{lfnI$`&z&0J|Qwsd!Xy~50A&Eon{9SIzkQC zf-n^hNVhN~x5D1VT|bbuxVk!g{pz(uoYO_1VmWMIfZ#tZ`-EDqMXFcPhDgr77%Vv> zhwiot&pLO4e;<%?hHccEnGD#~dwIJeI1JwkYd1a+9L( z(c@D-GJ=LTX`g zpQ-!RH@2Z@#`&c!Z#>Kko*tnujMMk^>KMY-9t_)ivPW%lIE?c!kEWr2+u~@Wl{;gp zveOl_)z5PM)h7`bA0&oOUfWIIG$POyiRyO`KX0L%4?#WwtX=mUb8&6~3xI)Pp0RcA zld+7OU1pehy{O^(+m=Hv4HRGT?grDxf74Hcby{pRl3q)JV>WW{hE~^Ao|4{vS;acF zy#HTwaY1lO_X96EvrAPql732l!Ixo|!Um&vW`=wcizS7rdtoC#s4t+Y=3FfVy%${@ zjr(@l4S1pJX#<_k(rj(L+LSrYeHldV$wN8cQL>d=VcX)k;IAO#e3DsZO+0Evup}E3 zW2Sg`z5<5pz8iM_#PMTZWCDcP41`8w-;_-8@_-aHp;xR3ZM=8{t((#e$nO1 zIox`lYaP^3Zn(LN19gu@6E=D%)g-H198~rImKf2#q ztn(fLKbAcgdU-e0%0)hC@O2EA>Ylm1=|hA2oiXzj{V0tP7_%;`SoJkOfqoo#Q~2hH zf?3yKsvtB9?)HRgY*5qkg`~p>v*9)x?^hRjF4Q?BTfNwOC|7ZE7ME>nkYeZj32)2W z19HaWToN326n8B@UvX>v2fJWKC03nsRb8$-n&ib8f*t4dUxrt#weEdyIr$q-+$m2Y zV$TeBt6aUd*u%KN$u}&lJTuv}rEAPUn(MsppAWti z*Dx3vQn>WJ*}KFyn^<1HYL^;cRH~B++~Zs2UME6U-)_Kz-aMm`p6m&7Wx*`J(uZSx z#C)!nZRf<~DK24eYS!wXj#vu#*T8M|@>qV4eeXBQcb!&IG~bGNI%oE_f}!J|O{yqq z=-Ss2YIf?IuNFhz%RsE3Lac6f<|{-o4~vG}Z3*vq6p^sLak{c09z|_l)PZ1;S*G>F zdvGE-qBC|~Vxw_~m{Cc1j!)csAU}655;wHUc~`Vae#2w74s`Z&3!L9yd!2K$!BTFiIsKL?T)#o#6w@>XP4L`jcu0&9v<7i5xDLv90~#13^wgz&F^De~kLpp3tj64@_a zBd(v+NH&m@BVOX8-8=|dci7{}YW`#FOY6;Qb2T$gstM~ItjXt!T;T>2;a>(v-%lYjPbSc=42{%@1UnQ@xP>bc6$K#znD zOJysUyqI-0hf56?bPDIJWh)!IQ?Fw$g|7}@gFEw4k-81#%D+4+KC+CH=Mn>Xv4ansf_^@pw-3rCtgxjY~Zqd&yQSo6c<;etR#`#i;mV-K#^j32r7K`mNsue>{5tzR=u%!{aYp zAhgCbmicmWOwZmW^e|cV@#+hEm{N|IdCBx^bK^YiAwoKOe6aGBeO4ZwzM=rFkpOV_ zj_lAGbmu-KMBfYnWK@3n;)6NEVzs^9vatU%Hl0_5K}aSG_^!rAaD{%<74uRK!ugke z#{O1WoelLFcjvogJ$PQx>naZ?o~o=l>Y!lmzV3Uvaw|WUdc8!I2fIR($i@t`Or#Rf zzwa3&nWfG*VU$}D7KUdKfeqzWbKC=zJugY%gorBJnV3O2EPM70sxWCfccB`u6K!G> zNL)m<0}=+v`JiV0P&MvO?Jt}`y-1ptnq$`<^(!aTr@dxXZ~Z!h%6B?1ikpcRqUc68 zZV|1vn(Z$)Z!*sHa4=n4Dqm+!q(?Xd4_=E;l7gk?I87&^@y;RiG+qWqE6(6B30HrJ zL+7sRopqC*eC^gj3JA@*=gdSQ55FkCg`9I&@FMCdAGJDqK?3}aLTK9eJ z1FgL*3xHsW@xRp+{VjIpLOohjo#259)3&+M`M zOEDk}6{lby%}YIr9<*pO*c=!=D%`y)W(Ga4WC9W2e?>1Z0*J*V52su(ft@&$xMGsc zQK2Rl3`@P?SN}abx#s*WQcH&FqFi&?R(;EmpydCo^%iG+zFBZHnc!T>&vyK)B}h;$ z#%y^vZRyX)j~jyi6G|k$4AC9uZck5!YjV2xn2tju^o(#pSFTA5*bCGh2Iz#IBfaz$ zbC7PXG7SmJJX%!R8l}hKU5-svv-V7Lf`oFn4(tn;RZGCbct8)Io<)-@e z`Ca}@>UWktbp2vtQuRS`VUXx}#lcCjUgDyhcIbt1&}76`R-YMhd}H;f&-9e_eCmm8 z!wf{VYPPv9)t@|XIyxj^U-kMZgq;`GEUsgYJGMc_<+b|{J8W9e$~Cr(JIX^YhrmZ& zWxalan+vwKPk1ufP=`S(3){I&Wo^d0R5RyXmRPqpLkxvgTzdyQ7~1|{F%&1^m?H`R<-A2*MT6&0 zU;c6nD@MI#gbmUi{~OfNqq22%mo(vDUi2Q=3(9qw?vKgq^7RcxWF%F{|`{Fs7K+XZ{H)<=`Cml8*_a*jse|Gn_5x3HN#`Lrf3z ze>6XMjiK177pp=KnKE*rr=p;PDtHHQh+Ld1BG&Kg7wU<8l=HMBGmJAfy8`wqr1pP% zj>)5S;-37+s>AP?6kH+EDBVawE+y|y%HsdGmL21!&}+GFWZ%PKzPg;n`KR+?U|X=g z84C4?Y)>2fL{kc3A~~FQ!P-8Vryj~_+e-g$M{_VY>OXuScc{U zF#@Ve6w#hf!}x~t4CGb-GPP#2#K|&~tK1q^9a{35k^b$W?^kX=Mq(5T1e-I|_F8Vi zG*-CY>tFm|dmd1l7{u|D4z?p-9vi?kGg$*hUo41Dy~uG;P4cS_X_{myo8K%v&C3G{ z^7UBWD3oEky`Qu1Q=Vwf|C^%SrBDd`p+F(5&#Eyn20u@>-;;fhO@YIQX&nKKpChcm z`pf@`rNDr#po@zN9srmY9{#K z*x~J_WpB{(w)XSf8)6YuyIS<3bNbJTZM4G$1AyU7{+04NA@jT%_vnZ*?@tqPUmMRg zC$1dQxE28(1&0Z3OL@;~KOeP|D%$WNOXii}n;Kb&usmEHWmvI7dpysJn7C5k=m?#l zy!LIb)2*t&8El=|!uU+A=Dr77Sd0_?!5jai9c>Uy3esI0_^wfxb*l8dTz~fjC?YJ% zP?+Pql@5AL=m&jOKhY+^1TROifpz&a$0xY07zzvI`$wUcQX*B$=gHC9cO!SPrk+E> z&nhRw(@P+ihm8V1?Cbh0d;k;hmAi>dYp6oakAoJawTC@&j}ZU4(Bw2u(5vyMraqLj zRMRoI=d*TU)AIE5(@hf&77goXfIXq{`f;PExmMe!f^o9|>GHnA1FGlM+`HypQjmMT zDi5Kvc`FVw^-qDnS(@s&=CVfJLD!qtCsXrQ(q6H9I1GL^1hr_lr5A5Cm9eyV!}QCI z`+L?zJg?=(HQQhI;TP%=_Te9t7~9WXjX{6=tlw!llcVJZI(Ig4sOdO`P<*7v$k(h& z5db@XD;u^_M9$Xfl}sq=r#8d?4!*Z1F)%KMzyaQdIorkzptssIM?z!ZYp%uJpFO@V zUl{Waw60ft5Bk0?gNMe4e*=LQlp*TKfe+_dKZlFCenTXAZn8dBy_2$6dHBRG80UW< zJi`nnE#4oq-L`*FW%+}Dr9IRxf!O@|k}R`=!9no_ZFiKvCLSx;`sa(7tu}4~C(= z+ZTs8YYMcU_qr&!e!O8u(wP34;#Go@q{C;>Wz@Wt68=8`r`*2>?-1==W4tm~yZV}$ zZf>=;{3=%4Tq7EW|8a0{%X9d6^f0_AF+KX<0}qB%#y9*d9v9fNm|JH_@fd4V|EkG+ zd(|-&nqPk@P1V75wTVF(!K0Xd&zp{ej#tn4q=TZ@$DmKVbb&%hAz+r>+R2mf8h0AuodeskYpMSC2ty`p31kYJ87j2@OCU1!EjHo4e6%UcAr}|U7LNhyt zgg+0;YhGT{aKC!qF40D^BY)FPCgbdDl4gYqU51UcGYCvKp0)+}BF}vbnEB?B6NGZ2 zYd6D>E+{jv?Af)3kwTrKOG#liJ;H@yIo0TWoKG#+vHbPDju!F!C}Kj+TLD_1Y9_-Q z?yn(u=P~Bfnu++2muoUxy_54Be|O)EWtO@`u|5{Hlm0FCU6mJba(xCZ2Ed%?D0%t0Es3uH&qRi$!%uQ_G3NZiS^REKP7eGwl)DxmN2vsO=|p1 zwsib%o3Ou~8!kg%A{z$9M zBzi9BGU4!n_yqC(pTud)3q=s~7IA;5A+-Rr1gJd&qWvaFt#lxaSD*jv`3X!IIJtt0 zDqu9^mSqN2FMYM#pclnk4-$oqbP_d!cmOhVo~S%6%UAv?TMHWXd5$4X%>zK<6+F5@ z;YTb)d-rj$W$=F;P(3fp#NMLUddeI$O>mYThfvZ^o8RnDTdhkeUWQ!XJzg17 zjJzh{x0(?Pu}!*h9(TQ4HXM3$-h|2&kt2M-GKrP4O|POvHzrPWkg$wD;c@BFX@-u0 z#8L?79jEC{fBw3EU}uYQg%j#^P&@pEIYm_t!%2L$-gK?rzm1mCPV4+cS$lSPq*JV^ zRxm|dK=x!V{N86@;o1+p*XbG-6>rQ+jMR{N%0JNOL@cDoH5wXzEyfMJdGiPNqJASV z+qx3@h2G}oy-dYxNUDgTqYe}qXEYRnV}i3hHNro;8*jRZC}5#q%!L$6yD3N&uQ~UF zg!~sGZO8ZF6$FcoY+js3T5x5<`{)-7cSCdg6lRCQ6ppbG!Gql2|GT}Rv6Iere3xYT zp-PZ9#lTQSQleKzVl-{ zNZGb4c)Rte){senr{~9(Wj_jUjkUww`jSs>&0mD+ zJJ*Fcvwzup6s`&K!KkFf@lM72q)#42o=C-Lc1=kf-0gg=%>xy1HgDDZz9~&44|L9y zU*X2!fRABs=nJ~)LBkJad$%H}j}c!IuA>FpGd8UeJQue$ zl9%{$e*o`^K!f_42@rPu*5J z)Fkhly9SFV5A=UVC0^4B0~HEDc^Jr(YgQu3Wl_s>6_PsfwlyF z{P2q9SK=n5;Xz|Hof!OLes(N$sX99(T+!BGo|oXncDKUi0452SqpL&h6_CooZ_;w2 zhGnBfA|PYp*K(=3`b~m9SA4ezbidC|y)|K;W3O|sZ>f(VAsKj`#=14ds)|jS1foIy zEs!|B{iFC7Y3;7bz?jLI*Gr$zqV3;z%4P=CxaYa8s*5<*=je|>SjifN116>)lnz_1#mh??|!inU0 zB-NsD7NB4K0{L671v5RQ$KA>0@lgV#-4!mJYe!~V`DDbNoG!J2Lut5tDfgIV;|?9? z@M@vmzQap!`@lMddsleg4+Xy0#W)T_WTZH*T#>=*+CEt(CDbO#H!F^cv-nChZ@zoc zhV*#+qBsoF%O_Fpl(6<)r&z3gqt0J*i*72Ch5sn0d}WGsAs1Y*TyQT&5aY4zG-7to z>!4a|r*$U`((F1F4dg#cxn&~}=Vg5MfUnHQ@=&hlU!M|X<9Kr-6WI8dfr+XrWw;du z`>Uie6*X5(MB{AwBTp(IK&>!|Qsz>Ba#Mc>3Mj1oyoof6aRg zTvA0-Z@nQ!bY(AU|2gEwxmUkO!J&07F%-iQdEUOWw3*42E2sK`w` z?QzXegfYlsjiTiX((>^X8SY2hT8``QFqa8V&%38EtFy7-`cG3lb$CJ8lX7JMA_>lg9<;Rca#rX!}swdH*SuOJj%8lq% zvCo_@7yTxd`3WV$eJ{XMmaE=<{;HVbVccc2UV2i;)aUNq6#%twxAF>b4YbuCdtG}a zoqPp<(`uI~OE>Lq&2^dL{%cdwSbNbF6AJdX3k1%;BZPH`f6`T!wOkc+3EuPcBgF5^ z6Li@3s(qNaguM~9Bm9(|2Jd55Sgti(TpcfsM)mCEia`YHc33_#Ut0{`u zs1?4CcaUHoBbuWP=40q$r+3Q7ja#l=oOQinOV(>1q^zrSVott0s`8!A#`xS6LN~)M z5opD$wuA1r^Qu{WCVA1qkb+Fn2Dp2-?IAe;bc5~~vDl&m&e@FGNy%Qn$QKrmTMUW; z^r9N~t8{6xUTm|j=QdyGgu#g@y!*8Eb^l)pDdk0{$`(jYXzVzcPd`^P1DdP!A;?1B z;|4oG{J8!PKW-8|7AaVpoL4>gsca21#wPEvJoJl!0*Ns-SM3Zs=8n+}bTmmgW_%@F zS-0I?vZ7_j+fi2i62&IReg*+cR(XAo90LMv!rzE_jWk=LtdC?BA=i$4p4Q6B?q+=I zlX-2F1jD9>h9=SHSjf=;81d^NS?YvC-#Y1{JpBc2`mm1RNU!=x4cK$?c5v`NR_tY~ zs4MqA_IyXj)8uDiq-EX+m^+tRld6?}RdI)dC#|InF~VIW+0Fd2a4M9+z=AU=Zox+g z3U+rZg2dZ>@oHQw=JpRJrMeNR*?Sf_rsWSotyZYZY&fCK<O9`; zc>O-03~b&SR27)UmwS#XF3$=`xHZ(KHd#s^x!cI>Y`$=27)PI*U! zZ;GZJdLZS%nh(ffW6kZjs&(ybm4{B&vf#h;wy3tCnwM+k0;PXSQ=5QHC3>qKp8o`Hr?>9k++*#~`HZR-Bx&P57G ztn5v4@-*zxU%mBlG>N}K7ld6?@VJpp(6!h{%b@tw?V^L~{v^7|*PIE-2oL}GJw^5i z_RS7@kKQQK3vEG)dpjTaeR@88mKXUC4*IjPdZ-NI)48`G=$ksf=HjtAp*{mY?sLK$QPen$j8|8)2@GHO|5A z?Q)y6*Y0t5891@J*!YZA*yeIQszB1|GfU~U57RFx@@pH7ucFo7>(}HIQ!sF zNOds-bQ?lEe(K{wVc>P2Ic238jKz9o1s1zD0ecs$bQ~%#52)Yk1sXlRTx_^nT$g}& zg!v6^q@AfI0T#^d_9V0(JTe(w7Ts2}E@JA~4CJ$r73}W&z{}nOrl6{g8!9e#8wFQ% z^n+yOt2vj&%}4hfJ+3l!7`PpBz{skZpUrO&Tb>UO9SR$K~6*NUu}zzU7sY}QHd-5p+fc2c$?S?OuP87C|N20~@ZjxR*?mz!dj%oF9&3Cw~4hv@r z#e5_jKfdx!@Ur%)Kc##qjT5=B2g_aA_H7X9UC#ZX>9VLXq#`5cqL%Uq#4|s5e@Zmq zUVHL#Wl+*$&LPTo2>YsX`MYe)!0|prRn~alt}#g0C+H7J@ARi*w17SK`c#gu%ARQ% zeaq^HNUilp^5sS0JYQcUk$u4 z086Nd`F=CDJn{P}tWp66`(1K^^yBo#5Pr-*iFonUCmh9Z-6ZyC@V`q+nWh$(A0ikR zX6LlcQu^K|ht7S9jud*$dgZYP&u2#wCLW*o>F@C#D`%rcDkOCHF7fcF>QTdoNqLra z$(fR1nn7AQDEF5}z_0CpKP`(hR;zKM1t;s+mvv?@nv; z?!M;Mi9aY9DNBFx>IXU>JIO{vf%| zhA4J+|D@0m|C+?2CwDHAJdr=OH&O849s8K&Lf%{M946A?Y>DogzEjsu&lg9Hlc53! z(TipSb3AyjckR7bwL3NsttuY16zg5}c=ku^9bodF#vnz_guVXT)!oNwAkD)vpLKo@ ziRxpW5P4}3Ws^?_)EBo>vMVY_6gX_2!wYU*KpK1QD9iZy+cZ%?@Ij-Q?Oy4%{b!*aOMd8YBv7apyOo3Af=N%cX)sB%!L@L6g1 z+#I&L0&(sqm;*Jb#-&#)b@3@)C+Eh&k_eVy8+mXp{y10+Zq;TKG!lI6FcGI>bXp)I zt~Pq)Gu67H;PUX!hUbf z@=vG3G>b1aAyzKW2B#lEH%uoR37 z|Fx;R1ox*aHJ{A?n;$-#;%AAUbH4wrk=lQ{Y0-)bRsCo&-VOVfY3Y-o?>%cV(W8q~ zv=}~iV3igK4>;D#L;XY5l35R%O_`r3i8+@x6}PCUfZlWkxEl*lwZacX-_5^RUz+@S z^5E;kcf4fJ{i3xO{yi`J6De%4zh!TV=CW4odTzw6zc1B#QKh1SPCZ1x#1chMO77|m z&Bq4$+r@mxg3N|4CfmGTUcIh=g{zUDaC&f`1NHK3obufIc*Olf@VaDwYIJfvR ziqUt{tXy)Z3es8NGvOO(&I*$T3tZ+RDHg~S@@%11`VaLz*vcqRoq5m6CZOVO*37xqOz1T(}JJ-qwYBauX0&L0)o*jYYUkH6d zx}N-^uhZ-%KKV&ekXdyOnW^_wJRSKuyAL1*%AT58yIBU^zr9q6uvwGn4tbcF2wx|T zPXK~d_N)HA^r{FoIC$$;k_P0R-<$o3n0J2wQnd4oLCiNzod3^G^DK zVz*=lwqs0=n;3_91prvTODL@O1tqsvMf?#0DmIdbq;-V9;J!q{4SQyu1JsiW;{NzN z1;=pdYGZQp3|G^7f~vrUqfX{MuzU_;_5!3}YFN7R->~$?nZ;j&(noJ@++%?|iKC9=UcK}oM%63-XE!q*o^;`eeuVo`h z)eX!?i?}}fq>1rs3t2vh5J7L3XX`&8{Fi&1%8rQiVc7`$I#AkALtp4AU2maP+pIIg zA?nU@_|WBrh7U(?Lkz3W6QPZy4~yvw{dfb9hrU-_y7YT2|FJaDpnAEJT@IABuj=#} zWmheA=S5_?S^r7jEp3H~u!Do%pyD2w;)Qg@#fpUG!LWGqZY^!VtB+wVv>;JmMe}zz z?SpD^+<1s0O}^bektkx5SkI?=u(dQBTv^T~P}cdqOGwR8bbsQo^^`wIH? z&8VK)w|bPC`y35(TI#E%2jJ#@j;OlxpdeX~`=$TgP(5%3AMkC44Hw*de@!?jjA^*$ zk?0>90c)as*vEqvs$5$t@b|m5*)mdK+ZJ5<8^5>u*lH=P#k&2Da+a)!$FtGHQVF&_ zPjT&VOnQG$`7K-aZ3z~-7Rcd>io`P5na})cfxo*c-c|kJXKx+L(DJcUe6B@s=J4EK zE4d3^c7tcoI}@dmpNg1Wkmqgh5gS!90cO~gUP1zxgvdV+^UwWnMs4R9F4~G9L(cn$ zX=2Whov&&|)g4lwhSA1bkv(NFwmGlvVBn;DD3p9thbXt-f`s0nN)fn+Fl4T;D?3%K zsJd0NdwFavzRWu>Zp$23eL#LZzwVSBc>^c2R6eswP z#uksf5>E4mJAaPM)6bpVV(qWn#OL?)OX0tHrW5Y+0ePtw9D~8L+&RW!@)C~;TK)My zu)p%S$7j_OSxFbApkU4yXG%sF}KV@-ccDQ*F6 zq=V#vk)Y_s{IOE|^C68LKXabfG1uMoN-dfSOex=aZa;SFl$X~5>ERE4nVkB*utQb; z5x7Oi^8D!o>dk|{QVT_UD59V}Qxmcr78THL>0QiJW)OD68}mBkE!}L%BhvK8Ihmbi zjF25$SQJbFw~OIX;IS5*=S>vvV?lo@qF@Z%wRh&8?AdBT5>~$$e|L~hOZ>$zVRx~q z0(v{o>eOeJJ!fg{PRm)MDN^zjsMB892y{+`&DSs%o6vi0TZ?b;!~#UaQW(ZW`NLmJ~z9E?=!y7z76P1~K?;R!Yj8nqN&aPwc{V$hSlrr^IaF7(KLc*Byz zCbpw{FbDzb(fGO(k!>N2W?T4#%e&pY6l!?-69uw#4(Z~*qTQwHb(TKvKkcGJy-hgLONHR4Su4AsCmnth*_d5J-t+?NEQ4Q_zq`Nu&@acV}+n0C0w`1hk0BgQBw?G_$a6-=IAinv8%aHOW*W9ue_yjq< z7Q^2)$UJy#gKFWWo;wOV?Mznxv}3}1f9BWbDtWc1l@b`I=%=>Ylla#trd6CaYY~A2 zIY0+A$)yYaYuonCB19{_|BhGgYwDj2ve8B_Fy`ti;gn|c)93=WuQ)g+Bi zK@xleF$U!{@db7}fz!kdnr6^!kKXCUd9a4^v%Pl>Ab8cn-6ux9t|^jhanBx{5YP|9qC4G{Teaj!~f9N3Y|mU9Bx%l%Qb7O zD7ZMz$(vuCJEnL`?I+vEel?BW+!M@^IqzX@ODtRCa|uh2?TN00o_2R%ugg1S3)^3{ zfQ{4Qo5WlQ&MBi!5o<3wfkhvL!e~Xx}We#XqV|PUmh)v`SycvwDgptr?BCd z#Or_G#andu?(CO%giX>pLV$#B{FnMT8y!8&yEh}x$Oq%Cz#7e_b6*qT^GZZ)|Ir{` zmW17Zvx{<%bocR{ax@quAW99|tu*1;SdNC7dY34%b$n8jn2H1@tYAa9a_;ca@~hKX zKgK({VysQce$I*M`};-rDu}BVcQ6`a{SLXWWCODp3A~@jor6669xTX-i|JN4v-kYU z^nFP{g?4=lttb)w7LoEm?-j1~8rsqU*)5c=xVPK&7VCQu94W|xO80cuSxNcXbcccy z{>O@$o09G1*t(mF+ctSnVJ)gtvUsOx*mvw2#O;o#%Ma(Aqe%h$SIJ_5GN==Djeu=@ zgt(-^w`ijNnQUbH3^M84>JnIY-vk%)kX%XUaA3>nHp}<9mssMdyqBgK5*eD4(MHV& z=b!}(M(P$cTHGqmHZPD|rUZ>Zh9R{`E>bUWho|}M5q#%(^?h)ufX3uXz)f&90gUoN^B6$fO`QRpe?g!%|Q3pv<{7@#U_(x-3vcjW+L2gF$C z-yHdZ&g`Y+h^)d_1r;)^w<9T8+18tRXeT*fIA4(Q{wv7wP(Ee9DST*(@JFdiZGP^< z0J$K67OK}IRxXJcZwg5q)p^1vY=Fb&V=9VoOd|J_6FQoC5yfKKl?Kp{cKoDOZyfV* zF{2m}duJFdw)c98F1GZ@SI3wV^7N7wu)KvG0nmg-Mq*b!X@VNB2Ro)`7Ph{}Z**-( zeE~K1pv3VHPjohKy#(i~Yg(MoihvfY!U8gP>X8l8qmrP;S9WS##nz7pl0X1!qyxq9 zjYB&xT8aZ$9(?`VKn|E<*sg0SZZtW1cx-riF$#TtWwQ!)eHTVEWR~HS_IW;8almua zf-)!VS*z@s^1}97kZupU`?8M@=JM8^$Z@cW15-#{tYgZ?gm^o zX8yCQj?(-)32toQI)blvJ4cmeU`;=oFZ(z9;V~gg_bB$gzsgfkMn5E$hM>NHufu+L zQLq%KXHIa_pypyPflC2h0#0irmaqO$tdY&JDdPU&+UWZxcz(Q#`#a*!I7*UBHS^=i zv&T1eG_<(+>+N!wP> zCtQhU8=$G>e(cvPq4s;S4ntwzA}MiexXNb~6|$(e4b`{9`fRE>&F;sP9hlGH9PZ{Z zIK&}L+&d~bOs-#FY8EMPhjxdv>);860Tj9HB{kH6rjCRfTIcz_7E9}pN2^7mVrEj`YO0$#pa6Px*O4t!~W&}Ur(ZxcFz?Vf#7GE9q;!yG9fviC0 zJ**DE6>Y@z#ASa}3;NZ|pJ$&}9P$Cp)W%$jAg4zRtniJ7!=J;Qd=T4Rt+{I(QIXjD zr~Gbx#tH~N#2q`4WP`(xuW%>Lv89~y*?@C|Te1^=*m6&{<~i+EptsN0%y)!>=H%i&&_`o4IZJ>lRD>5>{dFZVz#)A22lGGa}m(& zf;p4W6ChrxGaJM6rpoqo8^GE!hm{S%PW}_^FiCDiwnm((D_V1r#-|@D1}Pj$tP>yl zHhgqbeW-9PzdD{F`D1}zn~GffGnCfnlaSN?aZut0ks}mI z*?f!I%ZTb}2*l7ogv|sOAAgXzGP<7~_Vq`Y+d2Az7uA1S*YDZ@;VS!th}Mj>W5tRe zEP~!94(ZGpASONKsKoX;Q`Pn{;MKCZoG!AbDyinvlcQ9~e$W!?Xx(`7XOfdrlyKJ+ z{jYMq6h(EKQ$nF3^rZ zTQbXx5OX_@e@SbyJI#njW}*srqcqdA6b_Y@)5mm_I?s(At~Tr9^1+8A7s2@iy@$V- zW`}2WS}7-q((`U^N-lRP+0s@shuy# zp}~if9+Q7ykSZ{jYDK2k_nHp?dGzhI#_@!TNKZu=!)tM4E$;c9>Y?vC`LGSnvtLl@ zQ-L3Y6R{ib%3T`k!!sYhdDb$KsNXUOW0ZoNVWe+Fub<$WHW8V;@n#I3Y=uGS>z^cRyuMvy}y zFsGLl>N-Y?iDlBR)?uD3`v$@Iz-*FeoRf(9{X@6)zA1wUXsIfwI_r+sx0)=$FWMP? z?*V$nOvqVxPy}$9W9mt>PXixojRgzggVvGhYFSoR)yp%b{!W#BFSZ)wXi7W42l2m( zHdK`DHsk+|{)`xQu>*_MYU#hP*M2?x+9BO%3OT4F?i}(o-7RHEbu?WUV=9Ag{_*+w z%U0E5-xb6aUh0Pb`B$%&sJp_}S5Ma$n zZU&=h6T4@pdmPcQbVAt3?e$n*zLY80hwC|@yyWU?m9U0uK1tkmd>b^M3Vn6-v2fWf zvhkD2H^_H{`S{-VoXN%znN8Y2Hi2?O+#X3%pQ@9fPtvMspC+?s0!jh8ba;xlvHIW4 zwJ@Jvo?;=OOE`m>tMBf>2UcQO0W68^isJ?0 z!bnqHYxn^9K@+2l8FnAi2Xn9I4Ys$44Aq?i)CoPl8|%2(djV4~-;Y|tw4Sz(1IU9K zFY?xIDA+_%rj3xWV3BfveE8~A@975_gWPwC=?TLHhVhyt4a;JiZmqqwIi6hq$S#== z4f3iG77gJ3_S3rtO1aF84n@kWsQAtXY5QYuP^2uJIyj6W_msLG7Qsm*fX$3qA&Wh4J&7aJ%y`)_I1OExdN%oouiZZ6OWt_pvh-#TZTp3DB>cwy)XG8;n$ z92rV2F~)o~0uav8D5_CZVQzs$|`Q;Xosegcjp_PrqR3cy z<09*x)0Ym4aG|AOPDxvY{XYHCqcK{zVbTSQx5XlVDrZ^Ey?jp})Ek7-!kygm-hN)p z7#kTH$A!k!s21_rB+!9Se#?-J^j5XR*x*pvi zXPfe#LH;t__qw>(<0QwttdU_*KcerkXeIXKYOlR zC((a&Ur0SZ;H9TE_1O|3fE*kpcE8Qx*GP%ha{`O`ue$N@Pgy@Gfh8Pv#(A56jN-=n zu-qE#PglX>o$=Uhsjc=G4ldH~!@mYR-%@6knc(tZhJ~&_@;=iKrZv&^m3bO0N>9x1 zsD|+GiGFjSe{ot-uDU(ZJ4p`j{K#Lo1AUh2D0L7#Nn) z@GzQOA3MMG76nrZ*4}@Wm>QLMd}=smQTsKHIPPIElwrkYI#7n>_Frs*ubjnhxcc4V zoZWC8$14rE2pOwxGU;RkHmQ*pU-7-}p22TNW(!6!KYc45;#p}&`8&%Q;wDjR)N6fW z2M#yvv2bHw5sFn)vy)TH+vQ6~tdI4X*?V6;QM(E^B;N!GC+{JF*2+wBaA1fcA;TPq72|*v=utuLCEAugSRA^LcRj(ojw4Gdq2`7jL0*-K8w;H zPby+a^E3&ZEj_wJjm}`-Tt@ToN~C{8E%M;T zhj z%jiWLod$(bdQo56%k^8IsK$s70|MI?lk~C@16}F6IVsSuHwnF~@!FSFzRAoF1O4tI z#U1Qm-q;E+mfW4D6N`-V1H4`Ak;h6RGNTi%3X`WQZKRO(U}C`JjjaM|g*{6MWIkJI zW*Gl_s{Cci)J8emBD4<4M~@SJxlN#Il>*s@(a=;y)K`)&cV(c!J&NwJ#*)PGZkX*e z{N-9r&{KUUlZMa6v&ql&t~dlg7cW)420ihTIaY-e(xwL^1rG$NTDm_J$EVx^Mh;ek z59?hW6wXU@Kl};lI|%v!eJ1dtvcto)1N}rr_1BD(Q@_S>_j8RvCt+VIZ8vm)_g^=k z>|QsY?vU!UFHo;{(x-Lbo4SVQKF)ox^*FWRXQbU%BHcGfgtJAl-3yE?vB&*(5;|}( zZF2f;%}S)^2RzOt{k{0m+_NZEoH8q>$5E(goGq56{p83|uUTYoUFR9OMpO6n(o>HZ zw2Sn{Ps{*Q#fmVJwcJ1yb1n${#ut^&>(Hgo&78gx z5blntHjwhu2Oapl;r8Kt)=*P#RKZij9qWpPv&&ri^ROnc@0mlTGvF)v zGj~Aj8v`as9&3~eQS0pW{FXMYkXB~!PjS|HpLWCKbeLJDDi+js#?yMAXX%|bBru!* z+ZR9DGg~f(CFuk0$(Ej{;pvxgTnN^4{GEdAz3P=;222F=r&miHRLwJs9puGI5M)+H z_V)9g?Hf&#&WqOSUccG*03_QLc72sWvZ`v#kttUQHsB|iBp#?E@r%RTv(m9B#6Bl0 z{KW1_MR!lcc<`rc^T1>=9gwC)b)Vv^)1~K2m3W)VDSWbeSfq?XKpU-n0`3j`u@yKC z2fE$MPj7}={;{793~)SLzZnFcV*@{>|Fd|cvz68=J)&HlchLxWWiGWo;9p%sma&`; zXXhW2BKyO=KiY)nd)!^y$vqR$wE~uivnCMcg28FeTVFArw`}Zg z-DPL&Lg|qU{vtM^KZFyJ2~`hN8!L?H?a`d$HOXFXD+OftW6>q(`T=3(-;Y6bT+jw6 zOnyH!#5dT>t)=k`a$=}8caJ#du3$W5%&)f&+B0dr(~X|jZ_VAIYKCH)cZLE^VeiUA zr&8SKwdj)-Y&ysNaI^I{8y>f1{#D)j$qLrw9Bu$kw+@9|cmdG|vM<=?Pz5}$L#9WK zdBiOse&{oFngalymPN@x7GookeyuL_#paW`nEH1WY=-_T>W3Gk` zxE@tKx~R}(BCZYh0K+O%yjG{&!SGt{-CLVE=*yL`l3-q}L&lH4fAv5$L1i?thkGZ6+Xy#j*vl(p0dyl@Z{wVJ5$u(>vGzPo@!qqUJ^@|Jqnc- zEje4gnHo zfvB)s4^g+1H9Z#vhM0)8AKwX<1vN<=x*QyxujTi-`$|#tRpZv~gY}XYz&;+=jAt?~ zoRf~yY+z?RtRbX0 zGbdFcD&9dFq6?P9S*1(|JE$Hzv&`KoiE`~^NEPd)9|u9>)uc_%p9Wr88$t$0Ps5J9 zM({LEgMEiq!?=0JeAr}F$ld*&O_QX1F-CQtJxYyLgSoxoCzC_K>l++-?2x3R5_r*A znHY1}$s*^%94$Vc9Dh2&%@kCX0vtmnE**?j_y3~g6^N)ZLI2naa@KZfLAjIp$%sSS z4|BWCst9criQw{^MYHAa*}QQFn+q9PphMk_1ZCXP58Z;y%QxuQ&FM7O+_iPk`*YGAmf3DtB z;~;i*yO?>Kh`}c=Z^{RRJ$8=(JQ6Zotx81&-F;946n0)pn^mZ{{2*BAmE(rgOKy3I zWL?d#dgp*_;?T~g9V!aX>-$}8$yEitn36huMk!R}puV9!TR1cSjB+E78S;~soPCz= z>Ued?X{vZbcA(R$tIXn-_jiE?zhE=ib(+0$Z*a@65ruSz)FT-Z0|r;g@d|HUnvY87 z{xVDt$`TLb+nNa--AI4#Yz7LuuoYEL>aQM!XNl*=9-(=CMxYsx#-l4gTyWGSZBH{) z_~oq`?V)`jgg)<(_ZD(EZi?uVj z5_Ff^&Z^*-+Rofnpug01)&;-Rc1GJkf3bE}1-I08244Z)#oDQIRTDf$5smXUTOP8> zq#WoeE_XHP>UkE+>kvK2H_no+*)F^HHB^4;lAgsoZL>w#d5R=(L$=5sT8gh- zvvau;ce%wTN7@Ow0H@{Wt_6N!`Pz<1(ii2s;FiqyucF+=`0m;zc>jEKLLL&J__I9O z`hFl^1O4oMEAuF=H`=b?>qyW1aA}@8)NKS67cUW4Um`Ad!!wtw{ZbX&+o(}2X9xhG z{HRNMk6TY@pZEu8HbvEzGkZhsn`E|2_q*SdX*wzKvf;FRBL>DB)mlK!#}5fvIAgS0>T z{UH_?yA>BK!@T7;W9IG`$nxac(byX}zSPY0I_x;vl_)@co?Vyuqjcl{0N$6A z@>;i?Ib3}aoboaELeRUEgi*>L)i`Tx%^juNL?ddyY3u|1XFa@o2JmoNr;6;ROEKWc zbxO;rz6kl&c=9nU_DG8V)`W9l_kKa}QsC#mUwAGRFh+4_pyg-n&AklxKTsp29mVi^ zu||4ww=ZxagI4m(J3Lh^Pnyp0$zSRm^0eTw7;ES zyJ{yNo4jr3kaq3iR-)KW{(*VhjvI6BA%KI-qIPNoo#VU#<-Em}(`&C!!*5gm>r*lK zU7x}O>H3rnR@bMdi7Rq_+J)O~L2#h7tML}lyYKZxoyKdgotc&npP4q7@WqvxX+D9R znHCG)%rqYFo0*1*Yi2sUfohO_Z}wx$!OS$y#Al}QhWyMlo~NIg#vX5GI^oH0$00!SDDg0EPpET;t{B5hNf%oqzHuJVHZ=2;MxMud(ZYDM22rZ}4hkV_#Q6#(fsM(9n zQKJJEht)yg-rb5~;9u+36|%=2!L6_GwaN;!M*hY(xTPrn;Hzi;+3OCdbls>Pi*m(m z=KNd_q{@+8OS-nplKvWcC2?P1b7v#V3N^8wtd?HT28Xt0w7Z@we2!iI%6 z20EX0^I*Ytm>=-)?_kHq4&FU>-~_t^F^VXK)o&*+jWXzTxbZ-KL9j#ho9#3UuuG-Z zKa!2Bm{S9I6=(EfNq>vizh&y#ye-pp0+i;pcOAaDdR}|ke{y1tPj>>it*(FRydC#{ z2IyhTkcWxmV{QZRetgUd{7ouH+swZ?Hw7HLU#LB8wvyO{gH8DL6r3M-q)2gV^0wG- zlQmARra^CaI31@sdPFb?f;;B5=RMqi1Bn=?z4iwm1>HM5z7B@xlU(R}ypqiNO26?j z;7^r}64^hSOgGPqP3A|T6^r^KR0zH6d^+%#d*{+S5_vj!N5Yni9SQ5-O?F4Z?w30f z9=JOair1E>-~68cj)ZSz?nqbwcO;}Aaw^}_-I36(D*pdMs=cEvBqhA%j)d2W9m#P3 znf-W*-jSGg=8>xcoNC>_=Ier!e6XSJNGJpV=|bv<6>Ua)&++^MXC-{bY$^wPvne8_ z%%<=un@ypC&8FrkE@n1056T}r=4Mke9p&vTUay@^>FE{vS9*3frL(XmJDc(hI-7C? zC<5RXVm6K%TT#F4K04iFIE)KxC%;Vg!p`J9xB~ba+&Ct^h+`1&l&W%3-v-=L_r1|q zfIpgqM8?M?OT+wk>Xm*?@V=d-%o;CUk6S5Lhpe5st3iLM_?qBH%M_lW zTPmV_iM|T_Qt3AY@2@-K9B+>7hb!zj+|eBU_&U&EDqo_n0lyeus)9Szn|I21->^)N z=GyX+#8$`e#`U1v#NX0<+C1-F8ts?p>%e7pB3kFZNP~TX=3>R=ZU8RhL$jU2Ji~$0 zmA^H?EtS8~H$Zo>{&V%%4!j??be#0U1%4QH!DaQ`^?N%?H~J>%;&hStMRuK5IwI$f z;_8C?Fn=q!qjuic=jK4~3Wp;-BysfIK3#DA-ug2vam$C{2sgZ(Zb=MxTMDMGe2%^i z`u@9bC7O@&mcoeRXB;>^C8z`cs3^X)4t1C(cpmF8zrk;|BXpRMXLk9I-dynB_Y1xc zI*)jAI3f=HBON3*Bjf^=y+3;^@R`49b`PMF+EofWNlDjsSE>h;@zI>QX zhMZhh1;@rWkxPjiF%K8~1oTcPkl^%PR=UZka$Xah+HZIs=1UT#A)E9$xyt<%^lou- z)oX7^&F5LcxdCw@Zh$wO`$dblgmH2AgMwdx&b{6^n1H52_h|F%?Si+1=f9^t1SUv|gP>5=ed}P9LoQ8n{gFCp#Z+MJWz&6Hoigz4`t= z;P-dyeFtBW$lGDFna2@%6Rmaps{Rk~kGXv^>G`*@g`uA#2laDE^8S!x$@Pb4Q%n29 zPuPSl@Y$dc z(-#^K13%^Ahhe`OX6LYB3ck|fPIX_@QQc;WO+b@(!PS4ES$*^asT7 zLUA>91Ec(C{0aCgnF`Iz6p!y5vG!*Cs67tceEA=A^Rm*5{tTRi+hO^q2rQGLIVr9# zxKUSbn;l2*bYBp$Gvxc;=cj+2@f~9-X^65?Fjx3 zTz2nB>>uF@TUnj;M?-L#eX0%qVc~JMDN&v9@p&G4*Tjh3aB(lUpsvu-WT{&UA=qlwW+y;C$ei(Q;G6Gx;@r|Z$Nb{^*Z_%=wyX9o;LmmEiS&N+F)z@L*M5pV z4BTa|T`bp+azAZLNvGkNNa+SGz+Xl&HTI-(()UJ1HaDkq1QfVH9CR& zhoeXDb2OYkuETW!cRn?m+fDnj7E+2xf0=5gFUfAU61bx@a%?Nyg}$P9A$1~?yxF{gcdgClY8Izvvx+xx&8D=BW0}#% zm3sl`_Y_AUk05&xbv(I zJ4&lj-j14!nJ=RtJIZ87nXLTHt{9_yU@-4{UMELM8+CS}##WS*-QREHbt=!{jq-M) z6JuZb6JG}W%Urz*w$I=l!#-Yy^0rUh1^PNjLhw;}s$PZsst3@z$o_D=tIp&+*alp- z&W5~2P&#!<|D$`)jOL$v_SONd@=^a5=qxt>DL%Rp_?1pR$WC@D^He+&uqE_yN*Ez;U(=I$Dov9sj@1tH%URT_$33L!6jz*ROvE_(koZHvzX; zoQ%5QeuD1fbLn9^x9r9juKnKyy>H@c!JVmUmczy01MUYNZYZodobE%Sn}N&j5t$ZZ zf%A9Sf%KbY0wnusmuY9aO&6c9caaNH-gfaK*TpxXx+H*j7sVeT@1$(KuKq~qxplN) z3*qmnzYFF7o_7j31~2r|qk7uz_%7tT#%oUzaaG8zt6RrQ?rz`?qek#LLF-tF=ubd> zqStxz96Sm?v4PQbwt5fpKjGycHhc2~FwBP7VfG>$CL7CO7B{wfFY+Dk>{}hS2uGqK ze07Q_z9^S1iv~fHi^oyjC<M*D{Wyn~tww=Sij8cnEmk zpR9s2S@H`yQRxQ12hNv^akB?kl`BBP;_Eq&0Pn|b9)}+ty%$|jy73=?+wRVB$*wT_ zJgRU@_-`y$o_?Eq5_o@pr1x<1cB0iLE9``fccoujB3}8C`zPr8^TYTq=7)yhHc{nx zoY4Mat(zZ|UiB%^d(!VW^8?-fWVok+JCTS9y$Rf3oENt*_&0E`A`s(vdUtdpN%z;Q z35u_R@aJycstZoG70#bY`PPv1#p17NJL3=sntQu;(mvv5tB#yXw`zd%?GXbqKMYK` z?sjy8J%RtL+t1Mbls`S2bW!?f`N7`6?aq#?@=_OEHqR7nADj&OHjvQug?Hc=J8$)| zQqmWGkH6yq+DG0h6n+0v{*HB*z7W6qc<(?T5yK$&BGl`3ZeE~s4k)-cq~fS^1KbI2 zNcq{5yuE=g{LlZT<4fn+cwf+6@AS3;y^q7=u^Y2WH^=AVe?}eu8?QhGBId zX?*49{Tk8rzV;gAJH=Z+TX62xV&20Aw{XAh_NUpvt6~fHPzxV{$xpDUg%4>YJ6|wv zG0S&Jm{vNKqNAEgx{Z%5aX9MYTFWJ}QTP<KK=8SsU24Jlg8VDd%)SL$=lg-W2j_mrd3tz%)k8sQi>{r~ zA;{O~$#WmQ+d%61dpTbp_g!BvH$nB4T7-O?-S{Fq-?40lXytRq)|jf@%04Xg69-1B z*G4VKzd{00(tXBFsf0t=l)^)7leh(KO2hvpVw=+NJNRwB&sE!$nlH*9=+jN9p|=q8 z1ZB2ul6QwUrDlIYau9rIcY&L?YCWjWHQv4C)6(!GRNQH)c@D?PKP_E{|5;->E$zpD z9H;R#{Zi5d$z#N&5%2Rv5Ao_8JwchjaTVRyLc@G~8S4)8dA`V1Ttt0)J^np4ZQjcY z?o-p|JT?qIHO+I;!e8u!>%N@-pJd<~JvGhB+(P6M(uB%0{bFY~M|wU|+^StF!XdkV zSG#A++`Leq0zWeU4bltPVTsOx^K5+_$Dk$?U^^Gr8yD6THJ|0ZS%KZ|sYgensR zE)H?+i=g)@H$DosmHaRAww2A=t%hQ6=WQ!bQmuR+q7{Y;`HH2f6^n8!yFRwE&`JW5 z*>k*=UPi?|a^**K3Ch3S?N55`qlx(?570*wcv?N0nB&<5_-JA_8=Hige@*UMxM_JpIwZeR9*3S*w3srGMO@ ze;lIOKhN{=O;fxDbid3;1xOpdCZhH17tjg6FZXw&Uj9CAfJ7JO95Ij;Wi(&#n>w^X`~--530TgdKMqL~I?yZXkz z!x#R2wGp$8nc(wX`4B$@{9=5l3vRLcs-9Z^J?Q??%^L;VXY1oD?^5TDkqKSqo+=C>lm%Cg*|vN^7s?K5V&8{mppILJDKc?HbQp0 zUOU1w#hWQH2!d!I;Qvhj2)>AW9mVA~>9$2MRM)%60{;>MGaeUrw4Sk~V-*T`oJ^gZ z-TzQJ4Z%H+hyX{wT)l!9p`6SwjpP^p`kgJ={H5hqUkv=GmG{p%UILu& zZ&jgP1#Kq1dA2UNeVsg${j)(PT>dEk8ZQOCC!HLVKgU5lUWRcqV|cX}XSMNi;NguV z^{nhX??tZw?h-e@k{#~F9JafKv^#W*Yk%+>;InZ-@mm`<5l1!UQ|>_Ee#EVy@(Fhp ziSuxqO_nPzcr9@LJIlrJN=t9S(MQ{#dmV6}@#J#A6uJEa94`%qD5YC}Bk=w^)O;== zH`Nr^coT5hyT26ofL@Snq2e8`{$}9x{EX)1$&rko985Y0g4|nxJI>jydhK;-_$6xi zb*Tw?;<*l+H1~_MYyH+*9`Tl&|F1S}XdbRg~9%c)YyEZ#TI{`Vk*Lnu;2ktoU{k;oQ zGr;=Ng{e97g?KSQ@zqY?_jK|{emdtcylu#`4Te72u39(ni?u6Q1svIM=tKOkkQyrn z0;N|KT&Dk%Kk{~+mR&vL0_bJ_S#-bfQz1DncO2%Ht>6wSjOOKD;GgvPaDQSx$?|r8 z!Zxz|6LXOK&wKUz6V|!!Pk1%DKap+a{fSv6FquH_Pt3P?1>9v4g#7*l)}H$lm=*6& z5Z?Lz1h>}jPr_f4%-_$OvnC?7NlKyVNuDuudPQ^++H<#?Cux5Pb4P(|U*O~MLbpxA z!HjRYGV*2b1=D%)t;>jSeT0pOTNysC0RMWgoPP67t{J_zy%1j`r`R9}vUu?1x5^`u z?yZJ-O7!Wk1O2Bw`hBLx^IhL^eSI;L`*;#~-~WC%EVv2Et%rgWHDxFJf3N{`{P}$h zyPYv++!(1bgHGOZQ^05T{|-Aw>m2#Jot)`asxL;nxpZ(nr^cUPy1{d=hA zYrTFNB|qdmJL4Sgc?EB7f$* z9YWm7AwFdo5>x9CALkFj<6tPff*LbK6MT~$BDWS<4xK#IegOJ=xq6ac7@ze_;3rC% zK-iy*4|gITZjX>0wOM+n3a6{t{GR(EaM}FZVaNELh$cHmrb$_NR6cV*0X|!I$-fV= zK}KHMJKyOeq!0X**hcr0 z@_MSrSM1cWi??U;lXQ%{Vu3<3Ti42PS>{Odd6xx%!)W8GI5=W$h@F>U-d!Iz0;%HXYONybfiTF0ruLGe|m|y{FIaCBWV>?e#d_Vz5nv~ zHxaUH-3014LD9ulYWr)C0q^^XR(P9H>7;1kN;mowaEE$yN1>UG!cBIxpQ2o=+}0ik z{!|ZNWV%JN!q6*}-2X+=ar}7APavOv|FVo6<$jNUTCdz+{%`o;ufYFX`ho1=CGt7S z+Y&tluKlC*gTDdq$9W#cx;o5mg6!3v$#3KDz#r_%<1idJhgoYDyz)QyPvAe`@o6Od z0rm38giVfDT>KPp*?lUS&v+r2ARCA3Z@GT~C)-OG$4}`*l76mhKhfciVLICGhTwdC zq9X6hu~u4H&PO4N5B`mE=leO&Qai*kY&p3txq1dNvfkk8F~WbjdP+L1Uet~@TN-!j zsw=l9xU)U}jbZGK;W%K7PEuA5G4&vbLX7B_dHpkv$xJ3B9xL;H@bT0kiw0ZNhiPH~G zn|D}dvpctoUI+YJjpE54fgKD>-0LMA;+1GxB`pz2I9R5;!+BfcX`K{DO6P-=(gb(D zx4)>q0p*-cUrK+KN&UjtjxV`4;)@9a32uybcCx@K|7wEsQfXCYKr|45Vt~cQ9E#Y z4rECWAr+pKcaQH4!7WPfaL~)*64SWfNZgnRo4x+&04}p55biU;MHwzQ0=VoPVt)Jv zZAVpb{yEWj_Y%g$AL>3ZoOnK9RJ++#x{0_ zXbZ0<8uU+-ZG$PHjaRBR^Y+jk$SS|8+d*&PIgj>lP15i4*2w|fjTzv5*?>8fjiltU zGVaY=H-hfBTt1qIo@BOklAQx;Q8un`0^Zl7$0hD6T|kuMAIFE1$aMBkH``4-0A*Jo}U_qKBN6omwYlkI(wtmw;}0#SjgkN&5rLP?rn4{%J=Vg zRl-)PZ-pE#9X-MM_oK(@y)?K>yY|#?1HH^1+hNCfei~=BX`F-2kn7g`_Ec|2zTLH_ zCh3c{C%6N2vbZ5+4`zD`8RT4hYJ&6aj1`K1EA7$sr1k^QyM&l1e4K=|OfuC;4x8ip zCB74Q5$nJvO_a^0R~JdIN&3Qli0gMr-yQviq{}qv-W$~X(GO8SSsvYc_nIC{x*S^s zY*g{|rmCd-?`DjX`=bc9(#ib@<;b(40kmsx-IVm*-J4Rms|xNUss!`D*-o&6F~KU7 z;({Neyb^&FhxKV5t|~ZRj>@#N7ly%V9Rv-*y-@^`>=tbXDoq;<>1||y&D%CwFKH@e zWv>lh+ilR0+vxsw-nLb&Dk>^hxqDIHlf89#6hSG)0r>=NB3aqip>A3O-U{yd@Yc<};4_oCK$_=kXhk=L(7 zh;ckb(?*jW;t50d)wzd(KU@Ypt@C$HnQ?Z1+gyp`_t&N7u4OozR{HTj zkk60jGamNXFK2Hrb8=%Za&>NWX>DaM za&>NWX>DaKXJle7aCrb)Oi4lj000004%7R10i1mYd{jmE_H%cWY&Ibwlnr)c7Yig{ zuR%cNl@h^T*(8^+lI*U#8wl3W1d$S?DS`$S=}oXA8U;kK5KvUC5yf7j0v1%h-*e{N z&8ArXpYQMGWX?Hr+MFqOX71fh7LWw~mui&<14W@?yK{MLP~K_CCbBNGfI$B1go{Es zMPQ3RwnwkTqUOZ`Q5nH`LEAMB5S zlK$N9Zo*aOuMi(e-M@cbQz6mvNF+~)l`EQ7C9R90J>3$mtD)7jL>pk24l?A*B#g;x zXv~ORVpoKb{U(6QewWct6j=BVt*AAV4eWIM34vg^JQnTPsi@TUN7#q~;K)ZkNMI=p z#0JFtF}q`@aCvkvc?y9C=6cXBVguJc>Os435m2!?8STQMD8%G;{zwUM;;YFmONtH- zm6sM@5r_t2i2|F;$qZt6`a2C$I!A{GWB!Ux$DhzE7>#x8)W;ty8Z3=tS+u?NEZU{% z*WArO&?rl7*76}AP z64{#yr$~)0EGx4RT^QBO&=7P<44mU~ujrMbNU@};Wzll>wYct}J*>C?mf;tc`bB5+ zzSt0qGJnzFK+sNT^fKV}`5v^p8Tj8q4>F7Ki*?QXMp+QA1!8E6J9m|46{;)~M%oqmJxVV-;C`=z5+e2Yo*=|OH!)11)LAB`IK`TO{Hi4lG-l($ERwIwIvkdq8QR$nMnJ4zhL_n6WrPNg_j3GD|sV z7h~A&CS!gJA_olfiwFN!BWMr1wA?Od6x&4ux7bEtyPIMCZ&`vV$DeRBxis<#slk-^ zC&oZ9YDc6KD`&fMGZw^cZYDYujQImW@%O*hFMw}`Z%=P%8i)7z6AB`sl8&7Q#Qc$1_fW7{>`<+&hXvLt zv>;rBg<^kZ0E;XRh;c{C{1wiKVwsx=>C}0y6vuFkhDKB;b8ACZK*~J6cSFR@4Pc9%k zYylYo3?|}CHy0l@26HnprNqRYKmLUNGC_Cj6pIXRh-1DQIc8vEV>ydXusDxCuulHoCX z&46Z{Vt_Y6w`!Qk;l#@jxr6Y`X?S0IHs9>upFjQKM*)F!!V?@Gxt_!G70|SD|mhUPTup=Gt z4RirrTLHd+3mDEnA}*k32GIUCW}|nk3#d#t74Ncq3thnD8Gvu43uu)I_?~qE?`8s7 z>shfi*Jh%vRx3SciR_BjfXF^3%aLvPvNDYDmkr&H&B&j+T?kc?*uon^&r64#SP3j81SC$2I{i_4qw;!2D*Vm4guf|xPja@27jGz zvK#n>c%W)8aHsa)_zmL1OVuRM4&p0>EM_U7<$ z)~<*-h+#xT@Qe&>yQGk(rIaJ%t^KU1vyO5Qd5URwG+>6j7bJoi#{k)tZDgu?Lh4*_ z42Q;AqMQ^l%ad{vyqsfl+M0%b(Q3bs(ex!H0Sn^ffl98kd?eQ&1H*B~vCNdrB%oS3 zezbfYlYm9X0=~Q?pq?Bp1wR_I!^qc|&xkgQ{b(0sf5~w`TZtV;yBNGFM3~?y=3Qc> zK}Jj7AAUR_90i;i4Q>!|MXbSjY8gwEAuA}1b`4tS!JgyMFkg;wasE7~Baofd4#>C( zcZuxL#N@UIGGZ9#;={yK9VO6JF0QfKpTHTjxENEU{`3>r6J)5H8Zr*fQ^*+4clkKf zStr7bb|X(DyVG$J@{|&*HA2S^H-Zwfbge{c(}_Uan}M|wrq(BMTq|O+VskRCkRs!; zR{VI0WqB}KD?^(1WT0&k*OOQ)(FhO`V~I|#IN8bZwNmCP=ymb9suPf1>yr?@B&ybR zVzT9C0~sM|{6rM)CDz+L2?%GKO#8;=yCDfUuQT8qlmv|K3}gk9fT#G!&?MmK+{Acr zHK~j5KKe|Uud!%-OS71al_$k3b9GU9opQdTkl`QaPRz^xx>_p^sS@O<)cvCxOXt)w z(aou4d@cuu2r$vjr`KIlEM$>0&B#1bqbzc!IiL$$giSEf%|%Ex%VwrAh>cx=_)Ig= z&6(!+u1?%d85w1mDxPgVg#`|&b}?qj!|-vZa+twfH&gr?DdcJCW0uUq>|s$p?6iha z#9;m)Mix%<-5iIfoepqixK#MpoFQ%gkeef5_L(dMqcJRVuXxOZo6bbSB=(TI$t3oW zTPCsWTBbw*4~W2r&g8(sxhbcE$%lvBz9Zeht}_9dq(+{llhgrc1KvB6fJ)`O(l?I- z&e@c}Nvc-yW|BJh9O5~tWgTE7n@Md0@km{k1gz1P{a7KhVX8Z8a}sdvxj^eTWy4g) z#ephgp*vw*eDz#s1@qwulNjP!0! z7T%r2ES$=+$wGs$E=b72yOWrOr(ED61rw=4a zi+1gyE&2oh=;8*Z_5@PdqQ{Lf9#tx2_)O~_d?7>3R-CG|4;7NfwCFp+!wjfX+KG1= zdE_zKaO*`JL%bg)0r>}-beNOm`!xx0Ukvz=41_NRveJ`*M=mC>GyaCm{!>B39u%lR zwZ^_`ywPCI_Q-a180g4{%C|2D+Jp_S)sc}#8*ZbQ+A$keN6sc_6E1?)k;5@E0yu#a zM(18!D3%YxS(kj8g5|w{)b`21>316~y%kc|slFqVfnRz7Stld|C;X2AB6F28%~MF` zvxWKk|0(lR!u-sQX*gT$@2QZ?JsQ$ao$hN_#89m)UGFi*I4%c(OO9IPLDnTE=`MNk z%Vb<}iIXFj7za7MqBm3Q?n}_1pwX5Z@>TR#(;KTOwFkwxpBn`pw79SKoahRa3~r2e z^#+8wpgTFK`8uM6vjO*HZ^yU?txh~lFb4|_g*;dfTF?Dv9-kWu8Ko7NCo8C|J{((} zQcsq|lVZ#liMJ3VE-w%{%UKQ$!9rOQe#TOu0xLzpF4;ZKD8pL!*ULOO@hYIz&_Fbx^wmn&>|h#3@uX|R$`q`-3dkrLY!?l|6Rua6 zc`)m0uE`H&%M_u;%`X4h)okd2#09WXmKPna;pq5hGSGFlG59%!9Pn1T+8-<@jKcA{ zQcj&?ILWa(&T(`KuvaOr2OBunxZC#-8QwlAK=q-f8$Rc5A0*a$X9`fS$lKdLOdPzc zQh?mU4Cfu~-w`BIzf1u(sN^>l(uU{V?NbRMHoUEroeD{LA#Ot(4-i(#HSYGgr25YA z0M|1R4ZXafMddgn5Bb`jw?AoIi??eLutwJNRo4J~7GC3G)4hES&?Ynl)*6#v8OMgP z#&z5>5AL*`eN)ru&r72|PVBL!0oS<7mU)mqNPCN6+aqi?k&T-FU1|QBK|uD3!?@(& zTDM<$3@?k~V@n)dw@3*#3hv$#=0O&pwgdQ7`p>(93LDfnf=VAut~#Q4^b*BB7w3fY z26H!4p1pJNr#vRUcoUFaC#XE^7t~=xxJ1a#KY~7BoaEXBgR3IWNW9lgi7yNRvUBNKfYpL~kvK`K%A-sMJ@4`{uXYCk z-=Y+tPl%HOvoYsr!?DNZV>V6=0luLr!1p1pq?vZd7>3(L!VzJWa9fxXn5A{faEFgs zx||FjrvPa;(^#Y9SR>*^qvPD0RmY5*RmTctFgiXUomQS2adhA~Bf;pnH3Eo^x5!|0 z6e!0OxA<{TRCSa`RY$Ed7##~prw(__(NS=GqK?yIs$&WnjE*YhSZQ>uCktbBc)9Ax z>S#n59sSESR!hqr9aYL;{HP-XV|Dh>c&uubW1-Oz9IAe78mc-9PDs@82kG?V%3+R< zT4gXg#t&0Jc9Ef>dvn1VD2` z{lLw`s?ildc9_Uen7!{qH%~~PsSw|~d4Spzjp@I-eb;z^Zz}+w?Ey|14rIkVKsEok z!vnlIoRypfN5lEZ0CPrOsaD>j(3;I@(vqi~A$-V5y~UYfhRFIlE=t`-wbs1jdB8y_g4Uv6Wda#~n77SR-b7 zkaDXGLKWTpVXTn#ML97N-_^2y*~YRAUEFMWT6j*rjcZBSZoqRQe>^co{%~J^nH|MS zt2Q$QTZs!`yHpuWaN{M}Uxat62go@IpubBj-y#oCbO&?i1rIP# z2`^c`ogQHI9YEIC9-#G|Ko(Mg3+^OqS}IVZteY&~QK`TKcLJ%MQ-LejnuwMt_ zU$0bPFY7imMMJBW@MKOK;@p=^^~5IqRy@D7Qi7Wc>s#4s{8Jlby3yM(8flU0SiDR%AHu zaW!~X76|qVhRb6-Hmz2k%U^D;q{_wY*f+xQtx6^yWQXZNDP~G>;z;_`iMfFLWOAt) zNuRP;5Lb$M!u2z`>WPV#7veDyeAX!8%kK;x-|SN!jX6iV1J%E?Ha7M%8jAqW${EVQ(T=0fN_3H- z*}X=JD@SYcu5q#dd^TE=H?NZ%d8~;adE}WRk2U7VBlYrBV7%&{qLA&e#^ozX1^SFh zH2CK7P|QZYns~@7O-uz|7egN$;}~knNZs*CD(=&2yA@K)R+sPVPg3#27$EiMPf~He z(i|S1OO3F6sXJ4Ve;3d`YiBCZ{t)^1B>vl|Psr65Gt6}~``$Tf;&Td}o)G}XxQ|}$ z!IZn4eVQ>c{ja~vF@20I8+1rAL}XXya+!>=?s=P&@ylKRpuWf-?9S!1?rYSj0WT{| zFr-QhIbp2m%7s-WyNnIJLGO(@ehv0JdnI)$>-0^H+aUl<6PeeK<<5c4A_w-WxQb~; zMQYnaGm)gV+bU$UOn3W^J2VsP#sa?1hh}2$*njXe5G=MUkgwG@Dok+jJ~5`}I5p-z zF{Xk=*`~cu0>5~ipm@PZ6$cW@& zjjZy_9VVNKJnMr|7WYBSqbyDwbs!PfDB z@!qUDlkRbBTP+4@+8H9Uktb>Qq@>;H_x!!~CRtah`tMSh&?qm69XG}GzF<-!J~nCA zsaFk2SFNIcQJ5fdors)skGAtVY3JIwhIK|mYTt3KuwH9#Q^=%S@Amn}wSs#BZv>2M zh0`VgsWWO)v00fMW?ra$Fv+*HCKY2QFcyDfv`I|7X4+ti!UTgiiotJ9P=hy$!Jdgu z)0juxvnEPwVUYgRx zNt&1Wd1g|1-{j?+lQb_+p3G=Cvx~N%xdf<*S*=F(e509hyWAzqJs3FI@qU*W_t<2| z`(0v@CZ-|sw#nCm-Z2@-7>2Kru5WAnnyhxQ; zkPGW)lTCjoxFKOHRn{nl2{L~Xne(c&{eO}6e>bk;mw#4a(yLmM^texHa>pQ7UT ziTLwalyPsL1ncH0jz^~aw;nn9Rild5DNInfUlcwX*RWqSyc5^3-{e<3X1v1LDHnAr z>9{S8lA^;-#UHEqj6%GT%!x1U-o|;R8w$PTlCYVlkgt_4QfSTQ6>-b#2+xvb0^p7f z58ItO**AAGE16DqFcuk(fm)|rq1J61=Ee2-9-MnGFVMA3psSrnK~ zfJzmZR_k~wMu}i%|09lI7QXry!8e5pk)wjnQH#MVCRBDwU6k4+_E(hkyQgsH6xd~d@L~G>YziwfA zxdU362S`k0OJchZ`LCcM#0fAd=(Uz8` zMivHQa*e+r6e@++owGkc7tmpI3M_|5dyTRTY>CCs8_#`1y@IhQrR**hDGQ(UG)M`C zxQz?1yY^h_I=EBtfh=TXAu0VBH$kxS7%U9DC zxcvbjtF|j}^=xi{kfTmHstw14*~(EihYi{|2*n}JQ^--LpFYBIo~O@NMw!2&R}XaK z0Y&v3x>{6`hh8lH&SEG!pgbH7MPkuzS6qb~I7xJSkZgq&r=yf?%cNLb(X%3!hg*pG za?SbmPF|fZcD}m zb5%ME_-{-Vb;B^n&XIM`A zycvt>m7E{3FTf!Zo4;trROaUxW(SMy;tR`zMVvEw1qX#9Wq$t230nQ(fM#J=|Ax8M zEL-&L7i6D*0xvvf7mbKi%&^JAG+~leC$lGY8xLVjRL4WCm~; zZwLL8*+KK}np&MX2n$=ZAkowKt59009qs1@<;+1C?`p~Z#M(T-u&j7pKVR(>V+Uc? zzp5_sHwxUKJb?Pz4eDb4_$N=prRDOvm1A|haxfGuiP(1Wa7a&RDx)Fz{&1N0?-~8P zCgCsbVi1`Dl>(mhmcchcua%W7u>n`gC@DPeyk%9M)O<>rm9Fp%^B-$k_n z9tkux@%VTZc`H(0=(VhPHMY;*=^kW8Yy|$feyQy*4g^aYjQsDawW_&yhy?YH)tNj& zcrv*q0|HULirT%@Z{A#VYBcq;G!U~R{?Y~&&Z3qVPW4qcI{BU`$t=Q$$$Xk=Dkc!U z!e1IF?(PrA$|E*U%V=)UUuK&(&sZ_F<%<5&V0jt2iyFTctV4@=9NVLx}&&dC*WkQQuoEH+KLjvKxW=L{Iwy-{j zWCl>#=nX_C=FaQerdmMXAP$9bx5ZJlsi}qX-e)23+s+huwLA*&q%<>%xn|#{$tYjm zRbJN(nDG_K(O9G?6dc;=Ql1uF7V0*jd#_$}T9dJ9^=P0hTpAcOJdZq1S4_;YJ;glX3;?{rvw^HrP5Bbv%(H>s4+B{X&j#*%m`@F? zP~|W*GriH+A1Vt6N^Rt;`DcZUV#kdl;A&2u8z0s^#jEL4#v|fKF089L*dx3CRG`%z z{c{5tD|a=e5G*e(mHsi-JOpMJ@UHnF6tT`_kMO=85jUZjJ#gxyocy!%^~!m?@+eao z+2OPJ5Q#}LC7n2rT8Rl@vOFNxKE~Iz$_p`BPVg_EFX9T$mP+?YrE&9l6Nnh{-7kDS z7myFBYtIH=)gWxV#sq=U_xnCN8>my@aLCzGn0C2g-9Y_jZ%fPsws1WVFwJ9!)OmKUc<)x14;d4d`9 z&jG5t8z076zD?%<{^fx0y>o#1%b9a*n>yu~YTD*Ka!fl1$XTI{l;6XM&_)`tQXA?1 zmC{I*QK>B2zCW!5M8+A9tBhJ@P#KRst}?!TJT4=rr%@A-6zRE2MclJWMTC{EB1WxN z5t~+1MAN}MaYXc&#*iN}k@Q6jOc)I}SsV_Jd;)08;Y))cP7V?*n6f-m{IZ&$-B0 zzsp!Z?Ad>@zBCjHW1t#6c4#x>zZc^dJ*&olFUHifm|*<(VtiJH7%rr;cfO{ww<=^$u57r()KXsXoCgEdmg{b5W>b}m*?iwxPVPXJ z+?V}`C0)K(xpY5;uN3u956e+U#SqN?kZK`n^VuGxBkTDqd%3pufa09uQU?vIX$`|>b<`7Jh zn&V&O_W3|EaP2cy6s&!b-VisK$Z1lqo}4Wty5o?1B`RNCSY6r7m1=S2sF&20YS9#U z$uZoN|3QA4e|VwYJrv}|LXC<)W>hmZuZx-$q6TN>#f@p`$(m>=lJKZFFK~%E%}S1o6Aj{@h4oaS01M-1tjB#<7LPu8^xXZ;%|KkmL-eWk}^%bja&K+fsit)?bYm zxNXY%Y*;0?Db1VzQB08``0zI*cOMiRCa}OB`>=%Qa~2~u=1VDmiw3M-12*3TY}OVH z*zPSFu)eh|1k8k~m)VcOK#h_;p>ee6Y>lYfQ_FYqff}*w_^skZF02|C2P|Y)UBX1d zOF~|=m7`ESQ8d3+Bv{*8Fr%T}ip)?@sTS;-*w~UVutVDIlx>dc9U>MP0emQ0Z`o#^ z45RqOb=iF$)NIoT<@Ppx>2njIiZ?Yd&-2TBe?NWrOXXNNW&@LqF|#Kdn2=20iBTuM zgKl`qjrl?Prao^h1IA^x8!+byBhWM_7=ha*+-u|afTNElS^@pQ2DpkO~8I1*nfw^vW-63!Dt>f~-C=m?jdLr2A=epUK2fpLD zJXiEeU!Es_zVQx_UDMk*j`@OH`Yux18cTO*5~sYU zVTrxRRok`a0$KeG>ms)d&%@u>;d$Hp4o97GtTr46eV`oC4_XLqLk14=%iRskG!dy- zY+yoTZ;;5G_@Rjmut5T|^CKq`ri_eeEMlgo*W6rJeYZ<+{zwe3%f+e4=j`@@NHm72 zNo=$=UkFD8ugZ%@gT7>#%42v#6ukEhkHiZk)whU%Ek6*$7ajvf(L18(vU>9HV)xr3 zXMH`8J@7Kh<`(PwQn&k0YzbV>7x2vM&by^CR{li3@k$p!L1^0 z;0+>jhhT>MN-t^+s!mYriQ;b5jSMM%7UU_vF~vANuei}9;ckpWntWg)BkdB9ti1$g_N2h{tGu!oX-rRM=27r(|v!sLfc8n0K#m5nluCzCOy(A0i1 z$;Z{kT9<_^t~O#xj+k7&I18Y^LW+6S=t@hb5$u{(DrRSrbj@>uplEsl5yz0nivIs|&a?CLtN2e)ART_o- zH&^vEC0||qZACLzUlLc}NmEx}5<3q~mm+f?FC{biH>5l68V+RF6>|hBEyn9o<=1ql ziE?b?*%o8>`K{FMF|8bqO6AyKI9_u&+Ga2p*v#)OH->gngP99&8Sc^ymG`)CGtC{Y zRSDd0Crh6FmZ5oeer5|%lP3{irBOC-y@5_5M1dcZx#(JwX~B6K_%WH|?Vp(pM`13k zAH{pLNi4LrBN0-#GvA}NB`?5^O<_t^uvCO`DLgW&VSz^(DV*(6vMgkjHmvN%r%-hT zu`x`N!kcX@WY_X-St{5s@)x$X_>RyZ8LVVoS|z-#+gZr29L!Hgm?h;af_|W#g$%Qz z+$xCl_N*ViiQ`uwi1$*qY)!^P?Je+fk`}kI7#f22QkV+KJ_{Ktbce_|gBT<9JwYt+ zQE1i>F$z^4PC!GlEo4`f@)e{&41WpVE5v1$$??Sq4`Z^pgN2L;x1dIN=>JD7+mQ%H zco@whe!Usl1*{UmbPo@;9zVdTGF__Ncc2BSGF_@1d=PC}VQM@qHAWod)Oc8GlpM_5 zfOjZAvl2AfJ2J&Lode>*7JPHg1I|9gLe|3bfRX%T)p@|?LzvIZzkIDz<&m8GlN=n| zdLBv+=5vj5EbvHguRm0C_>9A-xk+D^tkid}YcwZ!ZD^F68OJgvKP8WFdocYl3mH-T zCaLe(nOuTHAJh#z6rz3=c^&Y10+lO27otX6! zwnK9)v|-X%>pfex^1~RM0pkT}Ma!_7_rceDm_Nt}4avhM`Fre<);}zd#kK-FQhH%2 zzjj)qW=(p%nR(xcd9NR7%=<>nYj>0dHNqg!#%90#M$*E0D0(23{nF$|OhF*|k3 z)?{p#vVRyAV@@i~?sBw+j3V4GhsTpyh~ZmNwEbuc*#(R_ZxHO4SWG-dQVjQ|GWYkf zRAi2%F*cQn-RW2h89}a@#!0!|am;w+ToQ@yza-e7y1GymGa1kL#1s$@jvB2VJ3|Qf1qwP6?5r`By zW&ep5ya${QWQ9!wJ?ZszJs;S4qJ^v;=L1D2{i9RSVg7KUPdTc3*ISKE2m^13Pcu$( ze0syn4CI#6R=H#F!ATaf2Zq_px$h+A9(A&0Tvxm$#hXr+Vb9_DM38d~PZ#WzVp=E8 zw_L*ArnWq)kSVpzE9<;rai;Z3{90iG(;{KI_FUlDH;p&9C?wPSUK#a1?4+aKQJw!W zP}1%Db5FIvAF+eLb|Z4v+Xf~KOFv1VZtCm=>L=6q8A1Fmfm+d7f|7^7#Nkg(u?zM~ zF+2BPN1vY2B7fKh-Z850f8W3a6Q-px|9a&zS%7J2?A*8Ia_E6IEsb-U(_IWrN1)E}K^AsaW#bHS=K8IZcNISYuYz~@pU^%M&k!|}Bg`ki9QNx9OH zT~F2^ubylY0V7Ybkewgl?PzS5Dj%N0R)Dwf`9Mv?r1a-$KARbSDhDGH5H*Ca4WT;; zG6C^VX+XXgh3hsMLsnqHj3OG{v~|#HKJ+v?<1=OH=%dVVsA=I8BLaHS41fo0<2Z zn74@rMS%y6d8czp%@WrvQ%<+ghL7LYgHm=<#PI%`DZJHGEViIdwfC-TX2lY*;> z36+O2P;GqYlV-L)FSfpWmWk2xV%=e9TWDJXJfD79wFkS-b^5rWqQj>uE~?@(Vr5~x zELFchkE#97)63=NhfXw%Dr4A}%}o17Ok0+3!uXB&yql#6@Qr92+RX{0DLY{_yc))D zG>o#y_)#J`qPwgp_DW`MVu9cDo!*L9zW!iw5Ff8hxpNO09`=a(p)5r0oAJ98Kk4bT zh$)|Vk&XqXDzYo1FkcrQ(TXitdNIe6S|S;;M_Vx?A0pBlJRiu3nJz!Qm2blNz{mfy zkTvssz<-H_tm^ZDHS&uo{~TQt)=CX$-yfQVb#*ItVOMVx*43@pg)i>SzRJbFWe^&> z)vct1%9c$lPR)<^c9v_;ibub(Y_@_nw&GOTt&fE32@yM%g`!g4KYUqyZPl00Mll|7 z1@J>F4h$Ff=hIh6OHZ>DG*v#5D#s6CjAQsnBxYQuj~E|`W#d_l1WWL}P~W?pqjx!X z1NipLYhq&26%2Ylu`2jY5j^7xBlu0JI`B#r{H6$g`AQ4uu<08Uysk|d zQ>wd`wly`*3?jYF1yNM1UB~>`#6Dn^=sos23vDY{q5?llW(yOmGPu~EcAaCs;r|`)`_?tH!`4u16mw^%edTy|z)Rd8(Qz2`x zaiTO3_*m9}K5}*1jdEbA~cHO>!qF4X9bO&)9O^9|k4_=Tot1 z(NM<!s3XyOByS8IJ-IZ2k^OI#uHOROlb&TNR8Uzruj_CeG3gl%A)gu zfoem_pN=iQjpqZsZn5C2Js-G@f4qA>@X{@gO_i-V10t*Ld|(enrF?xpkfQ>QS7^=l zrQ`!WZgr}SZOx7aq-5m-`O5XSLTk3~2A>x!E|2eR&8h#!+Z;RYZ7q|1b`C#_72z+&O>515@cV5t z=ig#uT5DQ*^6iXLvu3Q2ufGEOjiTQaI&ByQ=7_?9w_9ja1Z$26N1GV`q$RrMm}AVy zkSY8@(YTTtn<(UW1Nw!X7e4^=26;z?&R3WN!0EiM{u!0ZF2(7hs;M;Rro6tQk*{Lz zRp^Kd0~Ndh-r)`>XcZzZqY%USjo|;?VL`s+Tc#CoV)_;C^xWAk497T?9sBJw7DC6W#w!-27us51O2sQyGXPf4bDM<*o* zszZ+}OmJ+Li>*CojN^)aC?lf~54hOyPmj^8oTznYDr8{iG{1dVTwWHIZz0qu-?+5K z!7KzGbMZxwZ^u|*r+Cc8UeV<)3)wmR8s1HqFE=EH6O(_3Oyvv2$~I#y`Evb2xl|Jz zYaW<7g<}ycbQSQ!4z2i$E2VZ23q=IaOV8h#itwH04eEt1U%#EHu*Wg`ZuF;Ng%TFK zd?Wm6_;Z{E-`)N+bidnz*EKK=11kakMA0q2BL}A8-n-c(-ZlBaib^ALh0C`kA9(j} z3+>xx+djGR^vuoYZ@`$s4p}rzu2U_u1VQkgf!6%k229* zYohtY#75EFH_?gaXv3z_ynT{JbKNA3Chkg%X3xnI&D3x6fj>2Jo^%sAc969$Lpxk? zCn-#%y{@=-6q5FW*84$me<)O%WMIKqW9kdWqkASd@@VU1^=O5%sYe5<)T8^W)T7*S zi5?xypKH^YRgE(mHW&^5DUCGDpQ0M-lub2syjL}Z?o|x~?@rY4h4LjY|ad^ zOf=+AFd8-*4WG_vq@m+X)lj8us$ua=)$k)3IPzpoOw^@v)ZKdq7Vr#`CI-};HUI+C?XLU+J;98F)VTjel5Rq3v*(!o>@nmFoHOz?_}KPYDHZDW5K% zT*!qsF6EQwR|~mR9%!i7l6uG@K8uzY;#x`_zlg>)c`$4+t&d+m{#>axwLPJ+ZM;`I zPp=k@`j4aH9cKx=6UMUu>bn1{JzpVMb8D^;@-=HvPR(-JLH< z=cqaNDRe?cvsQ_sb&DOdR=M~twYjzs#cC;~EoteI$lN>Y*eU+O>S`4~@5JWbKO<@$ zSYn|qFGNIvXGHWHOSpgRc)eD*7A&P-e;exo`aU*lR8P+{9ewRui(>%xfy#o5l5}0rw>qE#6~_*Q&*bhFnY3t?5f%F_;LYld4DA}W!D+h z)kK~4ICC_24i6p71>1qFH|25O7$Y_SKl!Xx+>YW`qk<8;3ku0JdKJY1-V?h4cnDyq zj`LmE4R~#p1z*2zK>O7eeAjjZF5(|{H(>H=KKigqSgV{PoL`cGoVia}5YCBDIGih# z^K{{?Ap<#6pHxo!Nr$suIR^^oePkeK9si*AbDwfJ3#yI5#ljhWO6`1_e~=STJDgR@ z*;6>XKCPU$@(*&pOU|abCExEFs9Ch(5+|GZ#+>DROR(X6Ie90od#KosKQPy6m7{w* zRV}jv@aK26LTD_dPi<(}c6%9P|V@#n1mQE)Vhd}ThYZ(K4T@+w8{eYE!`Xz3#wEZbp~ zX3x^gEzjC&=w}?c!P(|n3$np^<+GOA(;WXS?MQ0+wI0Vi`AkKQD*subWxgeOj~KDz zSxY|UXiBZtSnzVsGi$D+mph#2udyIIoRKxU!#QtFi+cI2+bM@# zkefOqL%6Z3vZ*t&$EJ?9YQZRx_*PSe1^ou}GUhh5HWcn{57Jvkd#8Jv+Zt+gV~Z>! zno2M8SLj=r9ACfmG%-tGoD<@UP4$=gE7<5lT(_-hRc037$l=a$)0#??fCxiVv&f(y z!4Z1XFq7Vszk7eB{1!KLIG-DJl7K7?3YxYBsTcYKrBXGyiPt3ZQ!f;o(gIE1BP6jU zpGnLUYSWaZSW>$MhYQ{NH=?@*hno+BQbk%5Ch__LyCe{l^gm^Wr&;iXrDw1>&d@Y^ z!XPr_v#ONQG(N)8GgusFXzGkGTp5ZKUl1w}7W*T^MNHG4C|rF*&G?%3$zaGd6_e2U z!mHDe{la~f$_#FrDgDBt!&E0jQ)l~yoxz9HrdiT2%-dQr1PQ%q9QuX31&5Qxv!R8U%O0^7P7=~DSt10^=intoxu(oJHUW)-`eHz7%E z+l<&P{!$|8?V8X-;ex1LUK|o)rSmynC)4zcyQZnV?yN{awtjik{x_`fy6ao`IB$YL zb5QJc7YsDQcp%+WSW&3h&V$#T`wt4q(}i-PMovpck*6!a7yJ)AVLMVP^BcVGx_Tq) z=W2e@uTdWQ)O-^VSO`(M6uSrjfud#|np{PMLmG=rE&a!so6_LnX*Qh`&a6wmF6m|0e@kEx9yQ(kT!N z`C(b@cxsGCk`umYH!M&Lnd34GabwpuDab4gV<0EJ%$rd}Xe9Kthfx5p*y5cGeoNCl zZi5Hq?RXtb#gwAQl4%~mO})pT&^uI8!p}1fl24CbZ2OD(?!9_p7Z`6W^Z3`c6o|0$ zanD(3E4D^xY#EC&Ao9n%DOkAH-3*7)7D$?P2c0iM*cB(j~D;jz+D2mU8_}Y6R%(2pkB9s*@Ado`LcTbGXJ30 z$81!uhir6&kgy7=G!1acCY5q8 z|DY7#W|eX=|Dcq6`3I%EyV;SlLZyr`Qqo^lDgF5erEGmwrF3}Bf=Kc64@#N;nj?h+ z5u0wTk@DVaD&>gRH7rwJS1IfH2W`oGL&MVT4M$4;VVNNRmub-<%n99GMIl*%3HN6#j{mCx|DxV%IK|>68y=Fy110o$v=5< zTpyFCT@*5rYB=&X85sJN$N2kkl{yrRxy)3v8is@=7RQ9AwpwUgXETjOj6tmg`};vvMz|FqJRRt6i_+ev>LZ8 zk{S<_CK~##VztKNTZNn&BzhP6WByX$a%0C(g-*zZ0^hoBO7mb8HA)59bgNXp0s19N z% ziiDzeQ7Bj(6}}{c=WjmB*v-1B1}EcZ9GPX1mtWRhcydg!ELx)T4J+2D713BR-zPL0 z+-bBd8Y_m^U8#!$=8c7!iBo>4b0Ab63zQ=JsG&ghStf+F^Z(0yuQlCqAttVlkUc6) ztBZl$H1uJtRc?fBk{v(5Jysh8Bv0kXmW8Dt5(vh6 z*n|A#r7?aKx_M1=z3vJ>_e!10{3Pu!e z;=dE|U&Y0JC*mD((NHAD)`Uol&5o9r#_);I7QM~$mIZuk7oWO@PV(RandME4;)-=3s#LY!?8fQ?z!##R{2j9c zY)T8>aSZvwd}@drl`K^l_Z1lDWDiihIdB<;f#@}MBqVK*8s**5p|Mv|6&s}P_td3nyTQ%G zJz|IB+y?WLU>UbyvwOt1DTwZ{kP#am#wPcL-=$#L4s+mSeslBQ^o9#m0lt=WZ#sV- z0IAcKrop8a9H@|^?Xty^T6MjNRgf8^W<_*lhPElw1_;bRg1@r`My zTWo5MOY;48V;VB*xWwa~%-ki0aJLb8d7VnCUy>+k4*87@`AbcOiKfCXr$X)0#0n>W zBC4q&XPK!m*;FY1M2%kiiK-g7EV1SlJ6SVz-V9*P5vH9#QphfFf0FNo8Nh?&k}Jqx zD)Co^%JlY)Y51H>%~Pw`%zLJ%;3%Ub`Dgl%er_=Zu4&uG;vGk}+sxJ@CMwj?>mB=k$20C9{7SH`ghs!44J0b^3w^}2qhR~3k0 zZ@YyE9d^eE<~3qW|5MCiyPSb|ObQno$Oz*u`76B3g7@PYK(%Jm*c4yVOyH?q7JRK{ z0)O$34l{v*&n@_lnh8Aoxdm_TOrTz?{GRN)XeO|m442LXF8qR-rtwa2k&B)j^=s(~ z&HVdN{G0fNSwHZX!9Gk$n(V=w#K`c155>RBzO>-@XE4uy$-#-E)#oXk#*Y7rUz#b6 z*#6?-vB7r4#uq8PXA}O)LWld0H>xLhG%%wqT7s`c@*`id-P#_SiR;wP!3x=KAE)^E z>%K>PO{NdWwZZ}=u2V>+Pf~n8j%$T`zP8Z*w{fkw1>I~6j)u8R9E2JT!Yd~lOA;D; zq=${Y=W9;ivK<7Bln;KK{f&jTewO&yGX5K4cCYr?RQ4B53#t@i}kem5JXd7>0Bu&CB(K7X2#mXPURNmTFL&9sh` zl$Y7TSQPlm!#(H?yPa5nB}$N;yAsHV+IA4%Nl*^jqni=m2}7Sfw8FG5ALKjbqDED= zI=zuxjMwSU$zgI8*uyEQhjV}JAiOpOA6Fi@0;ccqD>o{`AKb}5g$DtDXR0B%-UhG<73CcV7w zsurpJdFu#XcXe~BX>G6j3_aQFwlmog+r1$t;B^ny4HAyW7T$I>>_SA!gWSyN9RE?W z=t}t)iS?sW)ut_9xd>f*z&V& zlwXKV>wlHH<8Y(mM6GOS(l$qH%#mDmZbF@w}OgBY)LFhK0+2 zZ9K>{lGrO4>lWeHCe7xiw=wm?(vZIqy>(-H&q0IiqF7+4EsXu`l6Z!vVq~BpBt?CPdz`P7<))Ltix~epj~JPWTQVb><>h+GpT2U zJD`odyTV@@DDG9z#~&R+F=d4Czm<$kPT$;G!VcLL$}GhD?s=POO=EX150?2O(ZPP% zo-H($%|0i;E!fU{tc4P}mkG1Gm|QqKW=CZL@&|(4f{oYY*Pi)f;YLv7_znn^1pTq{ zh~2HUBoqn62A4SxWR}&=Us@6Z76d%VEVg6*Kxq`)t!r;faM>;`4TNKXqD}=}PCX5l z)mV71VAL*3lr57Yr?!yn0^2~*9Uf$chT4%xpxDM&$$YSDETo{kuryF~i9P)9EqpW3 zU{a@x{n5dlx()RQ%#T-DR=dGK_w6Z7#J1pgAliRGw}Jr!Sf|1D#@2)a#l3<(D`Ivq z8sIN1TUKJ8G~n^-Fb^_qyzM!ol*SFUgT6~E=IQX{40Rdp&5&o!K7tF7wlRMRaOR=CJs8K)S~nriWS3mS5nEOxXG$)& zxq}Z$XL9j|?5xMZSF_J!Fx&pYr;;!+Q49!8OhHe<)EUgRtbNs=u1%`&7O3Q4*I-ftHHRjVMy>wKQYz}`PCWVK!l`2XUgJ=gBHwlQ_@ zSID~8BlW<=z)NinDWjc%B%SZ$uY*mCS8uJflNFLD-&i$9QI9Ajsi>s}=*unS91Zz} z2O4Eg=p+7NK-tp19&G%}c}6O0bE5|u=`x9Q#<7v&-~jt(L`XVyzlH2tMp3Xa#M)o) z!R`C`a)}*7Ii)=V7qSPg)(66|GN`&O7c%@Y|4`gQmar+tBDlkMod@$+jQEFL;pg-1 zNQ*2xh?8`<%wK|07E>hC#U~jF?o4&+DTNF{$dESpjGvz>Bxx8@Q~l}Km~BX3DkN#N z)xMuU9cX_w|1~1Q2N=Fd3dzUU|JkgI6!(fk(kd-e?=!`@G}NTs)>6ZC>xF^Jv*Tc+ z%V`$5u`^v_(B0)?Tjau;Zq2+Y-Z0Z8q{#3GFhlSwT`pvV{Skjz6mz8J=ftpYJt%=Y z*zH1Ui9a0&9b}Z9s*nagWVK&P*V{iK|GvO~jXU#|YlA{^S6ha5k(zBQB#m#*HXj9K z77xURqfS|O9b$}V& z=jP`anhi&eA-Z*oLyZ~7rT+>IvDKhy?tlfm`fi zydV`vrbynu?oY?5YIMFrhJCT+^A@J#%M=&dw<%2LWjnI=QkK37$+}TnuRw7@g`~Zv zw55uBRUv7cETsN^U?xsI%*5&%g`_=cwNE`L6Y%*C%EZAQ7Yyrd$}&$OS)WN{9Ve{p zQr^Rj)Z-MAwZ=l~ML&9Rqv8fBByF9Q<^R!(J#hhVD)C2!Wa5i!&2u2W;6T1M`~625 z<=Xsh*~a)#n&kLYCmTPs&fwz1Nt^}5h@h&{ZAKjsI1u&yfgV7S)_%MTWp(F{u-tRFNI3}C&uUgLEk zyOt>(#&6aQWghJIa-=FR#67MXj`ZN1G#8Lv^(0Rd$_w$J>$n0BLTN6v;=W{Y_wvY4 zo6ivUx+ZsL7q7r9SJnX@Je=m@w_{D=YZe;#F~c?KEDw67Qa(z!{RO8cMU1}h|OgwpO(+@lIf`%5$DCB@Y#ByFD>nftUc@+D*BP#P)LhZ_?X#tAEw zu+G%@AWo=nOlY0y1nInv#;5BPQvZ6jd%EJDQb<~j(zYw^7lov)RNDC`7@5~AByF+M z9#Pzj3Q1d_wC*RFdVYnZ%~sl-ikqX5wEL8{MsYh7k~XcyImmfBZWxDhwD(=p$>?@^ zA-fS?ll;3N)9G-px&Go4nwb?})1SvOrxx2>d@f&+>4HJ<83eDpLirx-&2%9<_Ziv9 ze^b~_XzheQr0ORsr0H8+@SeLEsCvdU|649!(PH5G)-GfXA)bH476a=jriC%)0)I46 z)IAi8#v=YeFcxj_cA$FsTjv(MeP6uY+uHH=eRH41c>BH>&O#Sh@2l&_mia3R{IS8k z?I3o!)?bo>;w%?30@3c>@PX7`oTbC>D%Je7LONRKl9}`4EJlNK=8sC;t&mKgYa@43 zlY1*9?MtNP>XA>)GT{e-L}5*2Xqmv-nG}*TvQJzBVp&cuJN1pis_e zewX^4+sdkg16dEH7Am9*Ke^1BdY0mzP)OP@uJ#vk8QFYg9oM7Ik^9%C!H|=*0p0pG zq)nx=Z|>4UOh&pnw%^g#g|@}PD4%(vutvIh`tuBtc9}m=+O4=aVn=zVrljvl3WOWs zyWQ-;QSDr4TOJ9Bj4#3-Tt$S+2T!(laY5?%YmmqKh!o>Txi^J9m?4Nn zFGsmM-t0k2whP($&vM;b&XdoOO6)2Xr)wpJtTfGSrtgo> zFtk4vk~U6h*JzGZC?su?yQRT3VdtiygVbrYW6m=w8qFfhrGv~n*vYKr?niHqKTR%o z|EPs7u$D{oWi{)}R8g!D_I8J`9fL!Hp5iTOH-6{oK}SnD** zp+IpI>xD8o$A#<_FYrUJywb=K?bst+APZiXm|k-P6O%dikSboQkoLcmlpPAlbsXREC zw}kCtSoM+&OOJHvhf3>BC|Z@+G1>l!VrtU26g~FxwP`eZ( z1ebjjm+E$;ED(#?#frRyNV}q_w7fWut0Zo)e<*(gL77J;@!rL1htSihVDMiZrBiot zPvhlCg$!6#lF8Ob6!)S+(#G*xR&XtoY#v#Cj(&2BnIri^$4 zO-(xI)nxQP)`je>8rh7v8Pi4otYgh{ZMm(8okVahn~}uz#0kf-&%X#{6pKpCldGJu zX$ffL?U=hthwuWj{8~b%)s%uw9>c4A-jOcQaqisWot4H z@5ohN7|$ee&g{=p8Bd2yx$6m(5?;^F6kmj5i)i(q=t6cie^S_vL{KYQ-#C%{SuY!{ z?}*k@P9m;=ICbX(sb6vuw`qtD4MCl-zC~7k;+t4y{z8~NCpYuGUI?+1UC6HCZwb?i zFU5*aPNv4(SBw?Eis;-<9JI_rYvx5JKb}^|gu5@P(GttMc`;D=iWw?jN%DQM7%1xG zLe@`*R%p9=bc)4AV1 zBv6dcq+Cn3>>7t@k06uJa3Lc~roB==>kKAf&Q_IlR|*Xeok69<`2&6$d5@qUW!*A6 zHaJv_$tj%jcd#};!^G#Ps%@s}zD$+}tfS71Z%xV^U905LDZWKJQgOwZI!E7qrZdH* z7n)}3sF2D2YqA-6hbnHSLekbL?L)=wQ%Ks^O7j&NnWrlx?Q^9~QQUHcq>W248+TV1 zn|cEkk~TF(9D9xii%a=$8jokC$g<;yGr2(7k%}>Asc%o8#q{M0rBYdE8}GkyIP%VR zyq{+qjq4Ora8Pzl5b01}gV6w;7wA&MJE% zOH(-J7oY8P)}<-zyt=Yln!-s98AWy^hGjx|?rf%cdErfVQLKNDzEMo@w7JoPq;rUt zt#-VX!d=DFi3vob<#t5)eoZ0YG-5eQeRCCU}j6Rh(&#urBMoD@%EF&Zf8 z){BQ`9}BLMI9bjNa0s6ZVKWKBjPFu-!qYyV^O~5z>OTwD4MYy*T?n3{{3W;r#Hmx{ z9P43c{YkLlApzVg<#W1mi8RF6GD}c*IVe2np~hO4qv0WV#KWzkgDzlH0wv}u1Kt#5 z@dcc%-h@0CIOp|GiMad8AJ$>&X}M4NDY^6CB6lQ$4IVbg$=%K3-&DqnQuj7RVuKv* zuk6mDOtx9e%1pZtRmiOQIz_fwKku&Ftf%&HdP{|J%~VM4Z=9@;8A+WLlJ>mE^rTA^ z7f?vrvq~GIxJML{wpwW~DDFdrq^(q1n{w5skhFP9D^lDDg`~|^+8o8LQApZ-N_$6f zzbGVan$nILYV>tiNZQ>>8>YCK3Q4O}+6Kjas*toj8nX_=jLg#&lJ=$21}N@kg`|C= zw26vatdO*~m9|lFyA+bPRcTg*(Ra8)(q2{C*^0YbA!)BDtz2<46_U1IX{!{sRUv6L zO8ZW6>BEg)(w^hvVGf9xe`Txv)O;42{O0+CP+TrQ_U3LRs5`eJm2eM?$Obp${>8R7nR_ zLeoBN(X@g~x(~=Jhy;fEW8A1lrPf$B(lL*pR@5W1&b03Qo{n{$+vdcL>&!0CpAC)# zh9dXr;U3KF=|aX3dpIs4+ea+P-K#tbIrBm_JdgECFXRH-89q)Us^}sYm)8zXu7J!C zT<&(+)Ru3aZXzbN)e_((wfhH!v^vjs+!ElAi(K$^UIJWpu?xO4mjI9Oj~+{aw=d@W z%%hp=?T{+nKgSsWha{ z3Q5X`ICZU}#wjG}G;!*j|EW{c_y>J?Rdg{FbCi3tLe@G{YPl}aTG#Lo)|zsOW8p64 zc8@UTu+~||!UGj`xTiF;*;TXVQibFk&}8QCV{Yd)O}rYda>E#--_pbz z!uPcYGlgEc#7VrtOd(|O-c=wJ#E>mplablm#oIxn)TlRy{gJ5M|HAHF&ghcY#~&yy3{_yD z8oX<~kz~z2NUk~Y2H1ykmfyFJ3vIaPN_Oi*>zP~GZFtq{L%9!$jM7k%zqG&~iShba z6g$O)b7iq~8ci)_3reDhr78%jQ8hlvXf z(NmFyM5gv*+K)As{-BWdZgKhiOMnk9bD@1;2^aN^JvYy|mxcP9+it!6g?4EaxW`CJ zo@AioyWs}DkRPjvUg1I;y(Xs>tuN$zx#ov>^&RHy74J$5eI=(p-(KmGcR97l-GCj8 z6cytak$cfqE@ambTZBJd{O<8*SFy>w{())8c@N^)S1#Wz1JlsqY8SG`4@|@FSCget ztLlBxhEwt!b?3_|j$3YNQl1&(VxE8JU*kfXuyeW6w3>CXGzGbu+_{8xG1pyfuXT37 zF3v1Z;dgi6(^K&O-EgD_J+Ec!u5fTy@L>F*Yq=jd1XpqI>NhC_ig6VmzD~N13q788 z8}-*y`|9glK!&mk z-{=ei<@6Wkps-xxNjFX8O+<#0wzx5D<8vM(#6VIj5lNajx2_;xjq%* zkU$0QIOjGG4)D8-n`70uSqkaqU1rGW<7aZE3||7&DRt~L#}(hhOMuaS$NsluY(RGS zeIRS;65uITmQ#q`&_)L%o&_16-AYM#O)p&UdXM&vXVi0ycv99d9Vo6-JS37prnv{ z*UTg5a`PBBFE_6*WP)XVppODmWUKc#K@N0~<_zehBBm4{j=xYNJ=2YmH1Q9Yk6ZaS z7U?tfh9Z5Y{*~3_nR>+sX4ikTTXqyqELM)2iz%2h;R7o0Nrend_^0de*qWqouIHSluC$uo?}XDFnGhum@}kY%&A*8H7hm`fqu)~_KthI*q z&akpxd$Y36y}4Ofc<@>*x1rdT8H+k~)s<@XkB0T&n6mDTDQm}a=Hh2|CeBjHH!7rtdUxtC2YGR} zqOMZd8NeoY`?Q0-K>N1*7n-W7?q{R!x^h)_`cPGO(@?5gy9BsjWj(Ku>V7inW-00^ zg;e*pTUDUWG}#`bV$M)iQ87$aJU@&o-W;5X-?aW=8f>cAZB+cOqz+1=ik)sC^?^Vp zE>q-ig{-&N)Vo|!5rwSxJ?V|QLnt73^?86~njbaFzk7~pMyK72cvTMACoTQsFsJ4B zNhavTxKEDW;AJD_tM`8zbG}!x$+L}En$xUd80{*px8Kw|SNX3|$a)fChOJh4MFG`+47-`;98)bt5N%lxsT!SZGeYE<+?4;fWXob8IRT@IO!RJ5m7$Q?@ROP7D~EGP zXq+2G{B_FsT#st4)p1^9gUw~mr&2hfuNv+`TY7I715e2|YR)Z+l2?};><_mYU(5oE z*dvef;DI|`XzMR64GkM`ako5Txe)!n(pktpWt_|y?2itNJj z841^IBlwvA2@gc{g{UiqQXRR?e}g97szu3iBEO$ z`bi2`$fu4XXTF2{Duv73O+kNi#mB_{oBzz zqAhE5X-P?w$GFhw(h}-CytFjnF6Yt`>O8!(^wnKFEVd(N@oUw|UXmWU*UA16G9voM zMHHWSZn@KgBggWL>NDq}&rbOWK(`4z=Gvu8xKE|(<_YF;tdm?^`qX?D0?4iwHX4pE zrSgFjxiI`(E1MVaAD+lu&d&P6SkS8g-+MkR^58x4=6=bizA)+qHDi*nt{{>}UVA;f zP!yg_i@xH)o4Hl=i|BfUXnd`@eicJcs-ggM-)G?0rj38~$XVyTReDZ&@DvX7eEiQ^ zVA|yvg>2A2J@U-bmrUNvyQiXB#ngLzMcq>|W{L~mvhJy<{~9<9z`It~=)>;}R9Ni4GSzXMt|1nI}rS4Mh(R^~7% z5KX)}gWpo8j^=HahKnkTz4WK|9DNjB?4_ZZ53=Z7Ls=m#)d%%z(EhYkoDr>rK(rXcRcd2^5Da|MmppXT_cTrgknW% zLA{ZBzmfXHBP#XaM^)-gkE+xa%BfNxdQ_zzI!~pJnirRv^`ntG*GPSGo=QFBF_k*x zF_jutPL*2ym`XitzDgZEKQ6Uac^4X~Pt8}Uhb~a5r3+MQ?oUR)N}anvrJlV|rOsVQ zsWN`t@~lbxi3&M>EKZg2<1KPYn5tCZ<3@G*B2|6!B2`_pNLAM>r>fpVPM#=FUaYG3 zERL)GVvSM#yF#j7ZB!q>gtHvmz2Il#%X3EcjZ0MZh9#=H{Zf}%ey>nYRo!c;dcAR} z%Uq^Ad0AZb@U=$u1cg-ns!=_VT%tN_w^9A3Q9W~+s{V7Cs_wm9Rfm;RRgYM%s`oEf z)%FUi7OAz$`-zcy-wKub*9w)|XQfKb-DC8t)R8MyDjrv8S z%kI&4l}fEwPL(=pl}fc%tJIR!BK142`t}+N)_aZZ)mnbdE1huGYSnVU6KeY%PdHkX zQ?;ymLbV+9q-weENotW4d}X6)jQ16?G2Zt|3ce~_|7kMmiaH&`x4doSS^B752t4WK zOVqBXTu2zxo{|CUdLrY4*jmB8`qY1zJLD!@*G^qfr}|dB+f48CqPP6%#BuTkQL*M} z7reR4fc#%fj9>8j%9a5Go^iofz6`kk85g|I-;j=~Ux3~KihX-;NJrkYF8KbsAsxe> zb(!T}mv@ZX0)^y#RFBbSD()$Tq{)c#A7k1n4>jsl)q6%wLR6m??^>^E6xC@-Ro=Zb?-;I~xXM_jm8RQwcNV&WBFhA#$|Lbxi&}Hn^JX~<>o-{q=p_G} zPVx(pe-)53k&3vTuRctmcDR>eA^H;2`AWSsrtf9;@MI-Sxf z50xrD^jYI}E(9JHHNhro9u_sLU(_tdpT_$~OcsCfqGs{QFKHI%|CyM@%U;qf-u;qh z@mFeq=Tl<;8KPIS$mR z=q;Zc4-!<&5EbtysF)!tj##hZtJLt#G~v5!y@qcV892t(Gz#Cr8#H|W4H~{)yNuEj zg$$7szU7L0T_I`zr|@+_o%+=K3!^5%x4Xr+of{fGVT_j!>wB3o4Mdl&^4{g@qb^O}syhtGf!LuQKOV z=jr$>FR%E*oQ5?N@?d=>k88*{){k$!=iKeVpjTbUC`G-OPnq|#P#FJG%O07)UnA0v zM6g%tp7EM2VPg1Nlsxg83#oT31MF{&T~ict?e?8FYvD5B>(^Y!TD1%~^mP}q)-D4I zUgxd_tIbsQrxmi=_omt?a*>HUk>w`&=2$Qv$X?O6tl;~(zj zz#IId)pDTy78kO7%YlowP$zdvdVgn3y-^``{$iGyw~(pvq@@kfvw{!q^6C(3v<<>P z89`24*cCBhhys6k`I6GgE!@}&Ccbrqzr1{7$y4hz)?X4wZLEeu9<0A4;PMhp6eH4D z?S@)LKN7)&w9N7pT)LITiWv5bkT$CD!|CJEnAb}-sVC^IYy@OWu;!*T*$5^ znP*O;(s=ZK+cvJgy+F9*(g(*<9jf^d@Af84bv!vWV$P@<)Aiw(-xH)(ZFsa#EEQxuf$?n8n;;r-*TaCS;L#Nm?o}H zZ;Y1jYiW)5-*SRIEiIvEG!*h+O_P9{OY^hk@67EQ-04!O=XO0b@A zE!!E*Mo%f4KHT(b@+uZ8)yc>A8i9_p;ZSLyXn3z;JIE?_Bnmt#t-o@+b&? zNaJ1;z08BPK@2w!isQBV9EG%Cv$0@&3l;=Qf`MR3fuEn4xiA!oADp00>#z8$u{qqR zM{OEUL0){(aevh|bcJ4EFeX39xeh|BQks-Uz zvJk(v@JAYtAU-5PPRYV9)1f~~lM}34e>1}FQ^-@P7Ej4mG_Lo7^8cog_2Q>w^~(E+ z(NXcc(J@mYd3W;6lBZ<3Ze!19hW7w<>U4$VmITFu}1F$)F}Ihtp><#G$-jJ{$MfiMta9BDY)i+7ZUcG-$-XqSWINtAK^tL`2rd8fk8O{)YGv^t$1;M-3Kmn@+FD< zK|1qz%7^AMeYesQ)U;x{?;vJ~Jsexo$4>Czh>vtk`9Oq!!(#jflIicChz*y0!uNTi z!MtAbZU8`R|D!GjH7^I1OZwjh^63(5;Is?`S*JjnQl1I8sDQ(?ZsjKO%g z6;C0@3wfK@kY}bDDC@eHTQN0$A%kT3r2VFwEK$fT-;oY4FA3FZ7ydC_UT3)eTYa73 z@b9=yOOD(m)5-5{B^;l8ryP%b&t6ov95^b;D32(l{AsP^SLxpV-erE3?r5bsJO=}) zNloSN(H*0tK?+H#HNQu9lA^jRB#FNt1Bl|~ivChzg5vZaRPhR>IXo1hidQP>1BE21 z;-?k0K_N-1m=osrDaPYuZ520wS*?5%-%UmS|KsdC;G?Rt|If|K3>hF}AWRT-CF%l6 zgph7*%pZ#S*+srN}HXJv5TX}#z&DffjZxwK7=eH7u0NV|Z(6sq;ZF_C$j z3iQd4qgZzSl3}+|n)}>fL-itTnNas-!{?qdh@RP0K*LuO@q_xJfQI2>R*bfZhPXL5 z&RQ@dmTt8&GiNo?iWt7$Jz(@CC%$0d_=Z_cwRO{&gRynQo^^~U+$sXM%|Z*G2VsTr z8pwfG*D@<(<5>N(&-qAsAPZC32HnRTVMUgtP>1N)*q}bSoztxUp-#LTQ^Gt8UydC71pkv6lj=D5Z4NXB?GkHb{X zSs#w}<{Z(kn-30(Wm{A2Sw6pk-1$8=SeneeUv5Q^k}-ok7*XBDlR-ruP=8~%XUh;A z@ZjT?*@A9aCPZ93-f9+enW`_+TM(I4D%%&~wSL0voY88=k|<;D$Y-=#;WnG4zULLY zR8Q4&$ec$Z41c`X1vBel-o;G~9O>0+!OSV{NUuUTf8>t!)`F(F4Ruqdy5qeyplNQy zq-m4g@!l%XG`C?&tw%L)sn2X`Kw>DtihIjDAB(1iTziXp){Hztr}q}EJKo_i*i-m! z#H4AHS;mm9BBs>VF=D6(;js~JYKEf4eIa=>IgnsqNZwKoWIGR}u{~qWiquV+QoAS1 zDDlKfb;->q^VJ2@I&XDBJwd3qp3H1&;81S`VH0taw#|g0WtQ(igj=J(;xP4D@=IzQConm0_6I#kgR&h`T9kCelup zyfwvzTr{Jp(Vh1`UMHXT1^hMHR7+M{e~y{8A~Sfr$g1@5Mfr3Kt*jk3(^6=Cll5^> z`D8h9Xh&8i95ds6i^=P{21a;S(wT;ni<=Q zP{8QfD$p|}<`GE1D8E&+?L5;@%ELAl!}^=D9p9SOun5CrvRv0WQ_fQdjJ1-Nqy9ChPmyB9bxEqRsfm|#tt^(v14hjz zE#=3P`{GlvNUo1YKO8X9+tNCRMeiIiN`4iV%N$z#I&{9owuMKN(63H3*43d*PTQ&_ zQ!x*E3d(uyuSDxQy6#t^r_`ZLH*FQ|x+QPXyqPuyjCF_Wk~#6#z9lm&lUbUy+tcY( zCTm4lF?+N#rtSk3LxhTK8^fHCH)IIpW>y4tVp=S~{SDx+RF3>b}~|1KX4;AV1( zoZ$nSew)t3wi9s5h!t@qT=%OIVwiw6Lpe7bFdBbVvVJ>g0RtDP;BVWCia8qMSyVDq z++Sr7jK*Zz)`;C9>@Wq4wZBSN2y#y(14hZOleu{Q%oskz-Q1pyrIL*)T*?bK_N%1k z3_CB`l4=O!VlCu$TWJSKvM6lh8*C+#Y`|`2fMj~X8v-{;8|a_XN~E)0{ILOqDjXtrPJ9eEguYpPnP4pkA+CTd1g-=A_EQiO58(B*fxYc{Ej9T|2FM z(%$76D{3~!D3{g%ha4-ti081nURbIN2jOjTUc?(MVS5Ng%rK%MUN%h@Ub@YuGCY!) z*e7;=%+7iddkyxcpOwi>HzSQ^Hfv>)6fo+))2$9m)T$4*sV$bC8OxxpxKZ?yFaOml zUPwrq@rn4Zjv0?qS^LXGtL2+p>wcBVoTR?K%=jBaO5FHAuN9{4zX9tj~MNZC^GuxY+f>AbuKoWW61-}Oj>W|I93}o&iMde0cr<6eb3ie zO#T8dIlu(`_-`yD@)vMgSqQ&bh3Lbf#ESo6OC+^QKi!R|R*EBL#Fu#2!N;4?38cLD zOYC{n>ku0u6<=Yy;o6WQ@+*QChlidFDZ1yY0xEeaq-f8t3#g5k!-=a+m3+qE~_*$he0z27-IdB^Za%fx^-9j9QXy}lO%>c=zj z*h+upxX-@Fdlh~*;qjdK>>psmnn4_NG6xm>2qR7`Q*_!OZN%eL=)f{XXZ=_}B}>Z` zm2NJek`-l&68O!*PY5XM&<=U7QA6AL$GGnn9YOXeRJ zDq94oKci4-um1`6f)kCx#UDTZMD_I?>NUoh5XewDxEI?9%?}pS{{s{+oN^O{!BZEw+{Y z{j{lbO}nXS*5o?E=ZK&E1!Tjr-)rDQzW{7p)Hq||66X2DR-sLk_N?igYud|x&%kwC z1vWO$m^yi`X*Vu9Xx8FA89a~zjhR@&T6`e;{(l~~x~PAy7nq&XGwoSxb}AFr3%@-y zxS#h~V0Pk8e0;Z55A9I6ie8{?Irh6>B`TMa-8AUe^o3FsWP}sx=2WCBmwdr^UDmpc z2l9_Iuu`9~XoVo#gz6M3_c_z*a3YPNOEOBU1@aG}4wP`74O?PFMFaF#|9y?9TauI% z{ok^MHpm%s7!0re<&3o_v(jM81wC76PUCGCM9=F)DrxCAGV9E9+B<$P_C3`M*Tu)1&6oepNn^ z%sJMVh)k(&j;HYH3gPihvF4Q%e0yQOBDnC^~$bMMNROla;)&nqo&- z)FVkA6)NI}M~GHI#`#;EPJ0#lo2~IWC=<(C)GJJ86*y%NO_THwkHo0G zlnfe{Op-d18SBG-AA+d4uZv z8`=}JTEu=-*iZZwEPk-z$h(4>;#+?ax=wxdypJM=LB-ibnyyv#u|ae#9(Dbu+ZgbQ-f~FfsU2Pn8iiMg)H?y|#XJWgfjyh}t=bdOX%_}7d{oTN^t+>dE>lV(0O$M`T2 zkn^g~*@e08S#+baQSTA05M=$YQpHK?lONSBrk&-pm`Vi`X*&AN^*#!=#^`TcM}zT{ z{K}_@*)wC<5}DUxhAlYMERlN3=R#Ce+1X5cINK7l;*m-j>;u_Cl=;++G$Rp&r-@E~ z+()II#G`AMtYj?P5RW#@YU1xIJ4#nnt!kd$-cnheZqLp(ZRXuf^v$O}Dow>BnoDWY zTBUyl({#G}`)3}(*;FDHwzH{>m1Yev^<*756@KNlK%HIGw4^m-nNT+$5lQul3NDW> zr&o8WeZwuQqAJ=ROJ>vAOl7rnThTO8;!7WuMv3}@6MeynG|?#lCx}oydHH5|WqT}R zB~W;f{G#Dyma*cNX>&YtL23rR-Un!g@e%X|sYrVqUtm(fG<{{9`I9>r;b>}JaE8cC}`XCig6RFn@z9s*M;)w zV#!9FUb1m;6|3E0Bu#5M!EkGPvW*@b;uU45&E%q%rAc z#U_uxT%7arTP-tsBHp>@TM}iT4o{f2P}uFe8y#M5KwWmQQL%BF(Od(xg@{52&bW4Y!)f%Ib_6 zwpe?mO2b5ZY;YHAOM9G`+WJMHW+O$MXsO?AIz(V!aIu+m14=V^rk)qw+$*Y9nX&B3 z%IXMSB53ETvyv#|_fyc0rfG|B>U%zXk^VS8e&m&JPeROq@^#bz8st;w#9GOf?Ow5^ z5K9mi?4&PPd_EoQ)!g0!v0{(X7?J)Eci#6zv62hlWAoR&<3x}7{lsnB+x#jVsD)K- za20G`Vh)l{u^$pZFq)Gn}58*9DM-OqA zWDa5_vl-T}AH?xo)o_qXaV8&p$6dscOe!699MGCkUY%_#yI^7Jpy@~oH+I$#zxZXi zqP()Um7U|@;2Uqs;k^8^sLOLwP2pB<;q1#EFY;od@lM* z2&dyad`h8OZY&DZ;^#>d=`W-SPaH!Uks-5(q@?PxRtSIXUqh<>{5(Quo+C> zzw4u53(dH7xSM%q8d!_p&a*+EwlrzR`GtU~lUsQZ2^9pL#a|8!4d8MoR3PgUFrUV72ysU193mb!yU&(s$=%7PQ7aj0ZF3q&$=~8 zo5@%>lFEYPEFka&D=oKlm6>#OkMRJi&)6y6VrR{8Tcgyc&@(WFe!saAkE%#)2b(D_F6;pK>MHL9w$(xhsR+ zWiPgD9P>gJJ7fqaGJhn zR;zf0TNb*<*%`}n275N%fb~-_+lr5+()0djvG0?y?Dlw;Ui8CCL1ZKr>7sXv>Pey*hCJD36YD$~Q8FAC*&fAV1VTJjDutr~+Oxa;GN!*XL(6*|a(Dl8=1yXn08`7L8h&>a3;5wOOL^FiPCCv(YfEErc&|B}mzDhS7F2 zgU_ZZR}YZ1R;BpUDJY)-YCeqGWG2#asFLUC%m|W5mXt-3T=$3Acq&?l$WEe#8+{b) z#88QbbMx(-)tROcbPRSbFq3+SRi>jBn8~KF8MkO8KgUz6XcRMOjYV7aPnV#0%FIrk z>aa2`kgXKFPs?OK z!N{qp?h02SVB5-W17DizXd&j{7SqaNV##nO=}y~9wDS}{1#xW~eWrNrDQDISNfqW7 z=oYzDlw^4*c+O9mk=bS#Tg^(9@=`bPM7MOhuAO;!b9=bW$~LveTDTrG_l?h>Ewram zyTOZTA2*{}@U3!+ZHD@vm*D7bn+Xe3`#G7^DggUwZgrU9b~DReHxz;CgRS(G^76~3 z(!7JKR4G%|CYVj7>ES-eimHT}hL^46V^IrY(bjAuoG;QQved6obMRO)!jo9M(5KX| z!&-5fNe#eQmw7akS`|xTG}J%yS^XZwA}QMGTrBKZk|Ux9R6H`BUMt$FE*YyO zZgs{wtgRYY%b(@05@J_JNU4TM`8U)5icn$PD(VK^W_7V{%}!I~9v|l(%;s2iMb*4y zwjmQ;Y(=NXvfMQ1=(Xc!qVj2e9^#|>a5IjE;nFIr;YiZ3PczZD0*qa?Hg0SJy+l*i z%v#e^ot5a@B*FY?ZjS=Tzlg^!&O9~~qwfoO?ijD5zxuA<&Cj#Q6MWuTWUkXlH6O0s zDGod64$$G{(Fc+$(apso*7UAfaVvpV=}slN2(F~h6#B}1^0X{IIOF|vn&=D9ct1C( zjoEw{$>OnYznLw60@Dm<2cEn-vD==(A|u@WR>Ldlz88596Mc+xE-vqx2xAUo#w&S3 z+qB9`b18(0j@#Q$rS>YzN=L1Jy;+4TVcN`OW9I)QtzI>00`JP|W-A)wF4H91e;>?m zQ6=bnucOZ|{h7Q1Rb5e~cP1*U;nR`5cB0|?x@yiglE_AELo(8|%H(<~iS;TNx|mX4 z&%&>P%_X^Bnza9aY=+f?|3lJfc!8N|J1CWDYv?dzakH6+9;n0^_qi36k!@vu*4v83 zHySt6Wf`pEwxOX`$80dx9ZQ1fa<~2T2zX{{6_<`weUy^7=0{U$Gt;IQ7f=km{=iEg zr5Ve#Q%Rz0Ud9vxQ_xu*x*IL!C%Y|{*4?i=3z%K&zA2K*>VM#yCE8r?&P0U^scVox zg6&uyy{5pcryHJXceB*^TNocqwP$BwH=AxRK&O&ZY#X(y39F${(WyioCcYTkuku90 zczq_5!u*r{UL`NxBW0Lqrv^--!;Mx3O_B)TbJ>>kdDxfB*Zvq$aE{wNwv~`&P6*(2 zEL!tF_jHTPV9tytUW#-NfNd)wE1e99tmNC5@0+uIcG`7m1y|b@LqT%UL z)W60I4gf+}F2mJx^!VJPS49<8Yv#u6Y$}>D6P48&E1b#z13$X=96yyt+B0SrudndZ zLC|hbTNyoMAQS6RLA$-#{hSwAQ56lNg}Iu}DxwqTx@{^Jo0&>_m5pUn=FC_JtTn(I zL}|nd>uMg1(Tzi4qF@YRH}UVh3h7KNna#B%Y%46l1TPOr;_aNcWpdY%BznTrs$B~> z&A8T`)!`p{g(lgjQX$KI7IYf)qUK6Tv9gY6-=Nz96<+6^arTqNdFNE!N^_Yyxzf{I zo;<)$PIJNB=9kj*UVyv3eeYt>x4m=c#rEokQb3z9eL%y3&%*i4Ee=i9;Eqs(cI?n;K8J#T`R zSTeFGx5{7>CqOeoEe>LNZe0OJAHh`f;q+X=(1ioA)9HD0Y;n#L0#AUKW{57`dNQ4& zvN{@$m|0#v6?_m&)_>()qF^Ewq2q_#_qC6LK&9z#`XOW4bQ(kQnp>{IY(2T-*Ch3}Qsn$-PNXSatx{~@}u^&-p$I7 z*|A_iyTkVec}aUBmb8OdfutIQy15K6zJ!-q+@4ID&2eka3=D6qOum0ZL#OX&`zhE# z>-`=(XjhCyLT4K}FDYj8)NKIY?3vibY(c=QVP==(FtCv))w#w7GMse`=573DHWky` zB{uP1QZPy98a%E_wb8i-Hi~k>s$=%NB(ERzTMEV98w=6)B&IZGlfJ(sH$#ruvvHP! zTd1J&krh?xSbj*4;iw!_2oud+=JqI<{4d5!irC0fE?ZVq*ZlrqX!nnMZwDqEFt(D4wHu{M9$EbX6;6?B4QZB+|IK42Z;3fzK=O>H*AS z5`A6n&Q7YOr6Cf@RL3pbUeapv1TkJq^wwxUmB#DzkG!26cqFDbp|%0#GYZpX!Vr!T zeKp!GxS|T~fU9Js#^xNy`h&37(=P=xoEPb=j@Ke9+lc3-`F`<^?yw3N#QSDW3&2@j zM9UggKJRJX9%^b&;7SoeRK1J>bT-DBL8Idc1%j?4&!i<5k2mP8#(eAT)H|H0Y#vXL zZ(VkmT|M72Be7%@H(T0Mc^gvF<+)dQM#`=_=p88Mhtt(|Iv&H=7ZvsTm#{^f4wJ&# zQfUjHi}1EUuYmkItBl1la)gZQuL4^Cj^Fep(^u77-B>l4)Hc5FOqu{Z2JBZ zuss=%CEFU3k%e;dMp6XB?HT$ecx8cG3hc-0OgPVAX47w{mg--;9RG}p8j zrkubu#S2j#|tyd}l{4R}#B$f0zu-mS&p%ck>q zcQzQKi}jC$9=y@zevdN%XBpRFx39xY>a&LlqQIf|Ov5Uxvt}C{GZM!!FQfAn29DWQE2Do0ZTe~`Mw44%;M%RpGw@)sFve@u z=#n8Qw@jVxyRRAQ3Cg}(rHMGjku7VY5YJ^mAlu-F^4>9nGLRz$>wSVVa5eVNeC1^z0dcIqQgvMXD2KvR%J(Y7-TC`n6o9P^UOU z^HX7&2uQY&2zd#n)AS%`FK;@?!CP+P&|nOwIq>v=J;C`oPjErb6I|HO6X+>YL&i#) zc@u+SGtrGJy!+lkoW^`)J9aSokmeKokXH;N0eeZRsXdV}GhIAV0sL`bQiqr?g{mSI8jR_vdQhpK(jdGVfN5-BKDM~WAXnw3{7U#i~Pk~evK z(m5EFChA)*IAjHec##7OBfN^oSt?DKo$?EX#$kCy`1L0q#cr$V#8bM&&_=lEf)-uJ zbN@Ui7%Ylx;M|qnWzWf^R`Ix)hw$zSV7DjcMLN0PXJ!&GUpGqBj37MZB7UuwY;N`3 zVkIQYA%IZ(>5scd?U-3lk7c>}>v45h#^Xty@nD)xHc-&PHadlWcrySK>M~)!ta<#Z zGG{~P@V}$0-x6vKyZ>9-vM7o1@mSBF!{tQkvkCohW)(s3YZUY6sKt(7w9 z*oHH9uy#8ime{7F$9mfmGp2i!{Oq=sXwz6f>E$?{?UiQDSX}?iYvoOiCm2u?=V299 zh{}n{ulBSO-4%D&kbcOp$)*vY9&)l~d`JPm@?voQa;|0O1+g-G2mtd{odf=vPg7Ba z(N>c*avt5~545I<{u@XA(mVTw+g6p=nOJ21T*=Evk(eDe^|r0Ne3aKDX=T%?c)UHS zrJ>)C5Z#;fQ)z;a^kOBjG?wDYwmv2rjHc6cRv`xCyjpreAu3G}rn!QD_TwJLU9MJ! z`^^E^2V=>W6g_D?obnb56q{+;VGOieQf}Sy5`f{i2g31`El1j7L|#@okfpB*UTm3> znU)!e$9P})mlN>Yq`xvnhn39E(s}Kx$hIatu7feKtg{dc)8=zq;j)QsWoNl$*lrwr&UO zR${^#j}ZULr%LGQvwPXq%tSku>zx*?B4wf-M4usfOf$?UwqwzV6_s$!NBfZf4iXd%?F9 z;`K}E@<6DhnLiMrKcWnwLOT`GvDG(B60jpaO&x9??XCm55L zAA&KujVH}{oGe+)kKslG!4J4(gfsVeM^`XGn;!PV7KwhErd+P8(5lf0RhZVZBX?3HIxQRN&JWv2&5I4gSl(fXAUEb-*Q zT!rV%Xj*cRY^CL+5{+gCLrt7wxO#}UmbE7nknCyT`dE?Gna%LddjD#iuw&7T#c%dP zDLWR`-tOcN-F2nij$2lGc`~(}cl6ugv-=DtQg#>KUv@AqmHV8Lg$}`Y-P{vV)K@m?!F|J>Svq%opMps>o0&|^${b|2 z@lC?WD+&OH*ZZpP`!GP}-wlz&=>vYu=c1wtRVtNOl!;gSpNob* z{gcc}wkIlcOYK&&JwcQ@*40Jim}_K2pELUv$aKn%@v%2GFgm@!wA1Syocdsq-j)qh=OwHnW^)n!G2Vq(Y~} z2g2RJ?LOP*O+;PoQ?rubl4p+-dim{E?3h|S3BoZP7Rsk~kU{4-rBkq_W+K&&*T7J+ zd4?jVsmsPofu82VZ+Gx=LZ==P1Z}!u&=8N`bR8^e=f24~Su{Y#BPrbgU9ZD))=%Em z+jL{eWiy)=VXBUNIMb6J{rdi16E``UhtskHd@Ai}_%(^T8LTaBK&Ml=CR} z-2*cFLT%=|2Y872ASTh6WAHC`!gMCpqW8G+Q@l>1?M`wxbbz?`tj?Oz8C*H_TPjh{ z8akV#NzY*A_$(F+yg9F6k$kU1t7$tg%79-p(dC2OVqMUz+2(m)O0ZH2JX9~m_?#4a zxnOS8cqu>k%`i*Ht6O|C{{T9aCNWq?`^&SsqYtaRQOrn$jbb+>BQtQ|b#~m0a+!7# zo2V2+2Z_Df3Q~Yl2)g`WXI*~yl~0K*NAywN4q|;v@yL~^6jw&j@4xgB zAAq~Z;O5aB%hJ7k`XtXK_aeQ#zu(jzNnvya4}q8XJ#W*$R>-f_chT$oBhMvlCbxEq zJJ>;QaT(>&IJKQh!KupHiTAX3G{xPr$IDez*|BIi+nL2>2Rx7q6TNz>x5nflmM(&A zVw!)MP574~kzWCcp@wf$7yFkX&3tBV+gyGb!mo&LlgXaHsBCS`FGIN7-KLyc?z6TH zne@wo_@KzPxlH**F0o%WT#M7JwW6^m@JBw55skvq{64z5jB-ClLbe)=iy1R*Ul2~?LG?~iiftxMZ7#+)pkja;_ zC-Qtd4s_CtFOLm`K2gxl(WX^qGTUHxCByjvA9tg*Z@5)jN5$7yb-$Dq>1l2@A$i4hX(h(Y~BTHQpN z9uA-ku$zuIBc2VQ>gJW<)CnumfO~?l7zf&CI_+RQofil4+wPuVt*i`&dA!T>dQ8`` zw3HXzjP-0BjBSeXTsGfCv{!l~fNGM*vplS>^Y#ty1a&Wtz7+h45MdL}j^czv zzO9#HTZ~5c;`S;;ox=x-f_9Y7<pHs%&a$rV z)SRhhDem?s#f!-r>8)VrH)fS?8o~v|n zyucB=B!U7fHpKZnvE{c;E-1j_psW;Ls2_MAzMC<5>!QBp*BE)o;p9zHpXmpye2R*y zJif9zYjt9`AF3oGM1bZQ;60bMdVM-ZxA@>dg0>aT(k;I2fAs0YLU;I3e0lciFuz#9 zhrSN9u-@6nUhdZm_41H(el*j!eQq_-=Y08add)#Nk&ey0 zv|hK%Yv4jHNJU~TF)K35%*11Ii;I(>6bDrE=h}Ir@54df;S{d`%x;gz`K3mP<96L% z^hn0K|=H1z>hRJmZebz0zdI|nUB8CSZzy(BG&H1%4jW-h95>a%|_u zOe)+Y>!^8#Q47~kz)j4St16|1l;XmUhD>yUnbv!YrDi6|{V^IM9un{a*Dl2Xs!eb8 z{7j^}b6U z$oF}K;b3f>e)J3(TyaaCYy0vk(YpJzPq{ElU*5&OsDtj{m4{%A?$kdz=`O=t+n5nA zmnhYrMPA_YS@UNvZ(6c^$-#|$`4*afpNi{1rq5eA6Wj)XL@XXsF0c}fnH2h##W-l9 z&ptzC@=3P&-mpl*N+eQx115LVQfUOkWsFct?MzsA!g)2_d(QkRIJ*^f1R|V0XT5=c ziuPNbbRPf6bCAuMRNCSrw%Cf~ijzxjbx^|&X@CDD*wp97?W6&8?tsv!98qwOg1EBh z&(q{J!a`+Z4BGI}xtnh=#L)TDi5NP2flHI=JoFld=5ENv1^2l7XBs)z+g?6J-?*zT zoXg)`!BtN%?e;!{hPM)xA?pYF47uK!AN%vGok~5z$e7xX;SONr49RMZf7CB1rBa}E0Zyz36BucCmB^p_Y8;eAVxA6l?j0kv?2s=uM@cs7e zr^GTSF(;svSOz6d2{=mdBaD1d^F|-_fOjr`;o7=soWXkGd9hHZ0MkT=g13LL=6xu5 z&mZjY=11^8?4pf6I(o3X0AtCl#kGXGh3T5T`YFBw%pVcvE5Q7_9CLo8Vw22QHu`A4 zA-ICvY^LTtKlRZ{exerjl#i|$Vo=d_V-&3uIj;ysK_^2Gk5ROKh{vMISUj&?k7)JC z-u<*|hjxR9>a4dzyM2c`S?5P+*Rk|dA00Oo+R-ZLbNf)yXQOcbN+|R>n)TT{)T0ls zUg2Ws6&)Vk&#Oz8=rjf1(~Awht^PE=u<-AAYDFA$`=;2@?KFO-vQ2{(702jmg$pGg z2^vIYHA57XzEPd^sgH(iXHZ!;LSl3ir}^D>P^^rGDk`?=R(1QQJ~|JmMufD`ZED@K zK6;B$MNf}WG)gqxMJV!km!hI?$EaM`1W#PZKUPs`i9r+qXzftNiPq|fV@eDP1;;A- z9Ef~PP2htg?Pk1&dWGBjLS0q$F}BLC!wmjLzJ6Ld%(2R2eCT8Vp3{i-*Y*wwb@6Zf~hJfGYe&)TU}F3hTgx|lx0Og|H*`e~Qpj-tZhhsN7eOxxwcHIvrzcdEv#-A>SFmCvpil{>ZiMMEMM!#a_VHwvPW307wTg9CbQfq zEcMgq5ssE`_GKA%SoR95k@dP(xmflx%f%yf#`V*=IhMWsSk~4}(`uFruY-lUc)rU# zpA??@X;{cn^WDBY?QBM~Tp_IP5b9$2KC_$|(rW6bRXLXL_hre>R5R@nW}_PV<^3aO zdaW?kPjBX!e$7s?AUMXuFZ({;w1PHwuMo{86$0pFR?9 zHrEaF?Yh=VS|O^8nbAij%rcKFK*!fU(jX{xTmh828c$s$Pp^-3GJRYDR@bRGOMfds zw-MalU=9CX01X?q7Y$Dod1nZPh9?)WhS}{s8k+GaA8)D`%{B;?VkjCpR#CfzohB6A z?!(t)oY9m%#I~xLXr|8JVM5h~2k3z^zHAVBZd8;OH9c0vby9v;$}RF-Hbtmr+3 zXT7kk1GaDgX1$26+tHxmyqL5TR(q@+ozi2@m>krS+KDG{BkvVe4ir_2amsKv2t9X4 zWHD!BD9)4TTIv?;4zoS#7qj|fp#9T38u+Bm81SK;3@T>j$3VGBc+|S{a|=I5^uu|0 zfad(+%%|`)77G0qg|lTRk0INWFlD*u@S;$!DJMdi*}u`IoCs~Ye$$_cWUE(LRLmJ5 zTeaYH{ckv1wP5s?hY>a^!hC3}UQ(Yu*Wt2&%a(T}MxZ=~?+ktLU5*j={Le?T@W{td z`0?bO4JxZCR#Y6N@z{WQVP}Ji?KIUu>JFm~T|`x|<$}?kBFZTt8R`}lispG#DIN=5 zX5d7@v0w*PWE*TR#8tVf962zZi5q&x3wP;oR(PbpZr1y49W8nM&#j)Lmv=YrB|-C5?PgHmqOpojE7l(~V@ljYH1er8v)?lX7mP?U9tn{LaY(cqmN0UoS)jpFhrN zjIZkr^0Kwi63dHedXEouuYrW3qsJ+FPq=+66ujOmEID_aqE`S4TsBToO^MFUhQiRD z;}i|4FevoYI7N{P)NCLQ6J^3e!A8*MIOt74=d-mu98E3f?ZD+c9!#2X>XzjG#ZKN9 zvX@O04Z%fLyHy%gw0@kTy9D@(P{4+Uz8I${R%uYlkK+{Ggde^NMekPjHRp_0E8NB} z=uFoqjj3D&j&5=UFJi&G%sC3(R9Tfl!+EW96g>7}RcHsa8yel^RR#sNt5CGML=n=} zhQ?PY`l!mFlF1c{Chq==3UGz4rE(E}n^2|ID2Cjr5Zk`HLB&vNDs;LRjNSEwGqyn1 zYkP#rflIu3;ziu)80LMxyFogO(@}Bej(4)ikC)*Qy*5pU=*@VRphF<<@nP^a1PYEwo z@XPKWOhh&Oc8sF$M5Yp%D2y;KAXL}LIzfBQfQ7N7D{V!1PlU=P@&3ObK=C*fzq-cJ zG!DCchDSD39ERGZ7P0vDntuLAEqZ$TyTUaJQ|j<3KEC~Rix?>VnU>Xsp8}E_W`TTg2L1n!h2$_EZ@;8%#EFZ3@xEX=RvafDLD3z^1aE#99 zu;V5}T&bes4!Ve)e$f;dgq^_wlJh?Zh53$TU$8eo>kt{^$Zpis{^MVI0S ze8P)BvQPMraCufJxE-T7*`TSCY%lykvcy!U4Br>{$3l_p&s>Jx0AsD^g&cUhWx9+? zg#vt>UK#T5Atk=&9tKfhdWE93qWj-f=noZ&;(HiWl&(-zC#h!&9YsXv_(I25D7plR zDR63qA{wD{ex3?lTcPNA@V~7>k#CwoB~Mf+I%1meJ6ibsP3ZPS)KkFxZkWc_eyKvy z!h^K#i-kh>3smT{3Prs@1-`9N)F?tPQ=yVdMZ@+osAyEBq9-KLI-wA82Uz!W2l<*U zPNrV!^$|iHCj-B52G3+a*$Xu`6Q(n`hU~nzK|FjvgR9W*@W}OBKmTR#fgAzeET`2X zV)ns0t0GGK(d(G`9eW!zJR0T}LDwmG`JWMlYAm-3)b5jOP}i{rx9kINkj?PXp&L2P z_XuJpxA0a{bYFvp{&{f?-NaI;Z0!hk82@4hAMR^V8HKnN+|Phz`@wicb(M;)5v8ve zigLM8g{D_3Isqv5G*0B5F3?T7;@!(2a9SskF9-#v+cl@p0qS2^OYuS~N{m*B$^Lq% z*K{Z)dWMT>*ZpA^Y`^Ih!B#x8-JaoGPN_#c+=&EyQEyP$3S`^uYt}RPh6cEhZbX_{ zdY9LGdmG>^%Ghx4F>35|gUZqf!5&%KiqJ z+bn$djJm~$Eq`!~37o>(&D=JhpH|MyS!yo2n=58IL#VlXZ152k^Y=04!T0|>)1cyn zm7pd#-rvuH+H@FDm&`JB-I#Kima?Z%$cnND8#>#d5%6F{MNO58{w;`ygaX+dN>?h{ ze>Q&Sa)MmgRx(mct0fCp300DnFwvkzgwO|P;VHzF+1RjH_alwyPR zsL%(4Y ztrfG%4)O!5?ks>YLLu`77235*QD}idY~Ill=U`ZPXjYY?xeI{LYk_t{^#V^> zS_hGhX0xUM&F07jZ~;-GH3g`RH{ubMe+@63evL={dRPk}4e$7Qs9s$_|t;nmllm~j-3P-Vs<$YD3nx^yg(Ilznj zc;6zooQxIj5INMMvwEaZmz>vGPGKV$M~Pl%IS1eoa|?Q%8ULwKMgec}b4fTAU*$O!OXGcF6BwmN+h)`?di0e*f-w=!SOCE&WH9{ny_ClcwYOBq zPC9QLNmSM&=+g~YWXta~`aDL@UMy%GiBE6uh;_C!t>O5t#b~W?40njCj|fFQ`KW*$ z!}W{BG2AI}4hHo~JBBa8hl;MPQuK*{ei8~sCmW$B;TxJ{Md&+;b1+!!*<8&lLWw3M zU>DQ4qjq9H7O;!yZW0&s0w65wpRL-iYlI@{C0dq$iOA}fI0xgBwdWEfU|DNL*69Yz ziZ2mamjJ>I@3WYe^}SFez0~0L_PGQ(QLsyjsOTklBq{psg(BG%1{Hl*rD#V9n3zLvTL`k+u(O}xWE8}}{Eb&Yoz zn7K_`>Z#MMCUc@*VX$VUHiwJRf0$7lGfETvhuN&hqjZh`;j4{jEi-7CZN;r{7N>D_ zAPvh{VJp_*3PI=ioq^8rU(0lzzP_;b4Ik}x5Jnm39B<$k&f4&7w}-=)ZPQb{tn=7G zQtf#`mda=+-Jnk71SP*m*IAFSmAHBZxt)Qqz;3%MTDz03b*~tq$-65$DHpLxA~x!X zZxO*w=kqpgitmJ?gnlx(>4XoKrn5=n91My|H=Uk?fiHq@FOF+Q+Y3d+afMveK?!oA zkRClIy5gGOXpK)SR=@Uh?xp3_Vs{Cji|u?s_OB zvr6A4v`W6Drii#qtMpx;C{c-%RSJBvP$aubC##YmCrXlW-(SA7&dEK6-1jd%)FAHr zZ()Tz<1|!j={tL*Dt;qWs$_APPAx>$-f*a)wfe6BHVB1QrxtSGx&2|%cfKWY4u;j^ zzVpDtfX{0I4Tv(@F3;JTifnlJUKal6!=xkW<+}GU9??2_x!Mi+gF*Sev$qg^=Y9y& zeP?eW`p&=pL0A9Pd>hA8fAH4r-klYp9)HFROaJJUdCh2T%g=O~AM!^j^X@-NnWqJy z%lri-bma~WK5b^&!l^_emZe_F-(Fd7KC!%hBJ1T}ZqRU~;)9}eq7Th#&*jdD_e39t z#kw2@36m0`uR{$N@CXyejt^h?Xd9_Uv5w_ zZcxu!@#&dZBx=nz6R~&~4TCn9EO)!OimGtBT~2-Si}}T8Dpd?WVT23JB zR6l;C07g2el`8@)Gy=08D#DcK5n=R%P*l5#BQWK`bQHdMy~Jz~3JxQ=%Dy5YP7Km| zs%*q+Zja6|<8fXErWK-W-I0#c0ahCGL_Ti1D5v!fZ{dz6-k`3;&tt;|m8~mRG}KPh zXiT!*O~WfkoMXL6Iq%ONX~kpHVXDGH`R!qY^rmOkx0`+R6CT^s)P!BDnGx*%nhA?) zA%0cFprXaQE6NDdcA?0?cq(e&UD5U;r&1`Q8eOHAQxa#`S;so+7VOfaJvy>;xqv6c z!z?Ibt%}k`{CtpQP|>-&EBd!2eOM^OU8F*5cUN?hg_d?VTG}p(Bd$~>PwuYhek5MM zyP{H&S0)rg!>dM(_-c1W#G8^MB*Fpsi0F=j5!jSOz1Xt5qMZe@i%{^mden%W#)AiT zKSxW10|1Y+3r1k~lmBwPn#VGxyW5zpgR=r-R>TRb00X5T>7%X8U*Dm z!MB{gf}pW@aRZr6U>9<9D{8h5LT(dl{^z3>1aeJc<~QKc%tURn|5)s&uUfItBDVMw z_AST798>Hr`b`lEQ=F(xaR`H8im4L0uTX$a(x$i+pa6_YyXyLQj!yj|BDP{9y`5W2 z-NG+)oX1GqM4sg)vE$)lrdTpMht_eJdAKx_&m{SmLZQ|=-At}N9L;3hct!Q1)_+yW z{^J$B&Jk!ot0m%X-F|{?266j2@K~+PLZPVpp7t|eA{+qfexLTUOdtmf1rJaAIY=TL z0C>3C50Ai2!6bzud+#Whe{Yru2LKGg8`Dk z)GY%0w@@hlo?e9dmjpRc$o0TI6P$4^l}qKiNT||16I$XUT%Rt98>CyyqYBOCc|7OZ z;eU9M)0c49!~bx)X$hH(XNB`>p-}c2-3pFQY~54TQMV+p{-Ud#sOEBqpRx2uA>Gkv zHf>TEQGf3VTt;6goVS>e#MVt4eZ_0BX3{-o^7!I9aa5~C_6tHqhvKoRHu_q@u%(xa)Um9>%`)GN?2$2++@h=&CDiZTsB*E=%hjAZzc ziji#Sx}cxVPU-nTHC`dpUt}!n*%k9$DnZKeX|(SP$1AGYO%eDG3;k=nq9H2{3f(ha z(VCSW!&g)-=}KD-wryo_x@%S@lgd<9GogCX@1qkOJ&RdSi)iQZ+xh9Y8Ar>VA)1O~ zcyWP7W)pj;i1q*C9!E79xk>GDqFo9Iv_i$2RhTT9-S;G(Ui@^l2OrwPShG4 zBvj=!ng8B)e!3^?XfhunTt;VJ4UtI3vTYB`6~gL4p)QsO{l3IcgWDaJ2lZi@j+-%U zDABH0SiCRP#j35d#7~_$R&9M)HK*E>5u2?oyyzsI(?O?e>f&{)+F_WV*5;Vq%I`r_ zaZ4ggxAE`eIt(gqrhE7jMc*o^DL5OtmbV6ZAJF|=){An8$xHe5T^MivR#9=7?pJs( z?~^VROyJ@1iZ+c=gyMfph29viXwne|h29&lXyH)?m3%*5(KSaI6!1+@v~H|or*s9Lu%iG|NXd%Y*(TESDZFEH64*Se{m)ksg*G00x#5R)b}} zp`~$qr}d8ROVL}+mby~;jh z&~VcH|KxP!h`v0;9?nWOiX40Q=D?x63vj_!OiQjZsF z)e0@{pdZ=hCnCCkQHI;?Y$}oMN?WvAlI(D?Hl5Q#VnnM8;C5d;4Q~{6r7eAx0UcX_ zR=3;fZjaBWtyX2sG?fdR6EF3!8=4N&&HCm2;uzh|yBhyE9n%ubk8WX>AK*FN7NxuS z@#HhKTzZrrJO7D=ODo$-|KVrzOt%7-Gn6J8g(aeCXJg64!X>19dh8B zt5xS=FxEUl(ftzlpip2Ygwhif%|6edqOJ*w{w+~%$f2P#Cn)MV&!CbECn&le{D>Jk zs7ECg7*;dGw;YBKNt7F+84f>R7|uGMa{&z>7xdFY!LW)McAhU9J|R(Vh-P@5!|=bF z;kRQHJum1tg@R!Pn`PJqFw2#2;u80^P+-P|Zk?cL<^={7-8VteTN34l929zGf}&Ly z7*x_bLD99~N6gScy(g)_u!0%B=`egpqTCS8u;fBvIDPXe(`{bcftsV?8?Ns=`}U7g+>bb5QO$#r^jE`8ibi8W3?$Bz_%b8Qrr z=d!!%UL)?x;oU5}p_X=6FRT&&=f4vA6(Qfp3+fD^K+j_v?0KcwAbzFT;F2p1+7335 z8g!Z{FmD9hnD$}MJ7C{cQhlaf1z~-SF?Djz7(F7|f2DRzE@RAxG1{)m8Dl<-aq(4- zG5Ar}`*otr0&YCdT_ugj;r)=vK=yRwDZE-5&mLDpKQ_h(g8EV@&`?!|G&XsT{9*aZyB{6JyJSm7*go49L9FB$n`mAFQFenxC@mXGB-{*R4gHa1=X6kw@mDecD0HO%E z3<0MhAWf~8j_}iuKqn{;F4Z?c^P&T*6^#|W#tTLET0-G!Mdl3#g;Ldu&IFqM&P)N# z7YcBzYYGGdG(;k_TH^1%R@=_Wbb{yz$p6m`TrG}Mut4xeOy!|zwvJBVprdX?KaJOm z_7V<%6bgxFDSnspA%OA~x}W*YNQ8PMS@1fqB3Yb86nQ}?@^QIh zJD;^y?EDzuZ0Aja`c5d&YgE6?R`Q-Rl}qLxyV0A;1W^y`@#9*j4)y4Xn5=$1z*j~z z+>FBLO4EaUKKbu>?4*a(;UPb*!$UGgkMrbg_gf4qKAfK7hvV_k(w?l5bId#c%b?=U z1h!?LRDm)-bt3?i%2dRrr`3B!e){oW2CwVLYk*YN4db=ZI_4O?6|Jg-6*S1X!uCu%8t#9k7)Kqx>jD0UJn za-jGPn$uB20eW49rd2EY=bZ*I`gKM_?umjrQz+1HsLT69oy_g780Gt*A#L|GL)6cIf?T zMHk&|Q0R+lMepLr=4wS%_qbO|c&R3m%A)$tqi#vub+f|+;??k0d>DmJ;y3+Q-eb`4 zRc11a0QmbW5WrUjI3b_hgZ4=$b9CLk1_hwuIK3dzmLwSiPlNbY?R` zT@s#U3A^5}B|OV~TJLux=x0dK2U%~r-)&h|e^MQ-7Pg-Vb=dQTX`k{f$=`rwC#g?a zfXitzkExT1{-sq+3ia^#q2R0MeYDTN4FZoJ2IL`&b*m-)_P1(&9zK6Du;g{D@c9d$ zIP9y7jo0p|T#`R7)WhZ<2EMCf^k{YdF%X-1b@QlK($2ljs|p_szQDk^;-nsoWpN<+ z0t0>B{owiMObsdh>{8C;EtYw8^Xh1YF!bH-Wh}$Pwaoepu#OR}HO7AGqu)MY(69_C z{Y1qWW!}spFMq&Yq*}_Xx_MMC%x@R!SU`mIu#n9UU=T{wW1yK#f6%EnJD#*Et^#Q9R9$BbET`{-&g&X9VH^McDY9%q5|51|#B&GaHG(7kbR{#RcMS|dHa=v~$iE5pUZKS?de6W(Zqmben`bJ# zEp1@Yr#y^?oo{^Y$&6)&Tg~RUwZO`@rXtkqFuBu{?R=7os(6c?HN$O{d^OX!%^c#`l;t(gN7$@%QuZ`9_gnqAI1W+wTgE9>UkfHeFTTYp(P--v=bl) zKZ4V&-3Y}+2D<>*jj%vqqN3iZiXdgjQ29hfFL3zOiHgei(BV6U7EM&-e-xR`IhuG2 z_%Ac#u?TKITrK*Jx!bEZKt%gOi9H`Rs0i{d5bPSEki8$vjzdNfWIJ&;crei85@5)W zQ(E;RtV5`}kPp;84@6$kRJg5AdYRSbGnQX6SbaxaBcedXo-06d~Uug#4KHl#B2s zLe+(QuC)GfcMaBWNz~B_0r~Fhr*Q@v+m9RA0I{LfmG~V^(~;2rRS&ylDr>DW+pP99 zl?$g^g(|T@lITSB#7I94eFD4P@d%xyz;*v8+h$Qdo@cE{ge3|4?fW} zovEPDQ+P_+bT02;ZRy7}%Uts>vG)kuzx4EDe?7CG{UjQIO>{kTJo!n-0bQ>!1LktP zfkg+OGN?G>e0K67hEIPAMK(=QaWb`vp5w3+p2F~L-`y1j{;h?M7K&Q(kRpzIR>C$2 zMci}l!5U1Yb3@&t{E!DUKbNgv<4oN9lw{&H*5LD}oJ`2oS+L*hoQYkZ?pq96MwH5h z`3*u{LN>6FrB92H4J_osryU_1@|Jp^g?#fgioT6Dazy1bZjtd+xNWhSY;!&))Fa~d zdeF&RDf_65nQSAvS@pc=qx3V5sGE7%PvplL%6duiXQApserN3RXABBGS*hq{2=?Rk zuhoLMRj9g<4_F7Db!(O|o>fWXmjDB9sIP@I+PWj(AhMvGiX=`sm*+1n}+dgsA@CE@c^H; z=-*}CsLE+N$%kb3t%Lii-xH^apqb2^D!X(jODG_B!;|9Ba%J?h5@9pkYUz&(&dyjC^+@U$pY_@*OtjG-ukh1-ufSGme*X9+9~rOe z#J7;&$80 z@J$wHF_-M?d@#z6+1WXC{~&a$Pa`OirsoIY2v7Io7+R+6u$iQHncqph+@r?LE-P|~l}W{t zQF@Q08|Pp~$P>qRn54(J~NbO3iF zbY$f#TBCi04$ac7f$>#-)Nb5F)VRNHnfGoDvC`!Gcl~^ql5^gOD9aE!d?gs{qIH87pJfIf{}gY8CZL;I6M}yQm98v06o^eB!vYk69;I zW|P(`lZOZOlH?PiPR`g}ejk9l?D+)llIVMGvR~$yey^Dp<0grpSl_W5-99?4Z{{~K zJ|ucwtM-ggM@}M5bi!b`&x1E=`<*Zt_B$C*Y%w}vFwFbHM)sH|4u;3v;ZuW(-~mPp zyE>sT%ZY>88E>tC_j8XLTXL2n%eQpq6i$3XdRDi%WwTd=L(gy~I?yFVQ0>~q^iq6B2 z=V}!_g&%L!D%ye{8*3HSZ8E52bFCr^Km2uy&fR2C(eOG&%ihrWI#lSvM1(bfT%Vt| zGU(~7B);*M3RArp;v=DsL39y)!A11sru=Y7hy08XyUWH`bcwzgym6GDYQJ#I_63(T zMn(S{j6rJT3s3d&YEa$Mo($I#{Z}hKSE%Sw%zAvqYMlE8I%*!3>3}B@;Ars`EAcae z#-{1Z!9Ps$Q|5t`4rLtMMhBoPh(^X-Yw3wHtd;=MI|$|em4yXEv!@2`HexLWp#?K z1A@0MJ{CQ`6$(ZFHDm;?)6jQmd?FDJ0E(tY;4Td!;%?nB(kd|)SllpV1g1cG)cfC@ zw6y}cPbi?>ZfQ45gahzMqg*4ZsKOafGsDx*%4+Qi%cT|t-_bUAYEzu({UI|Z`)SW_ zF?5a{VIcqoc{Boag{Jp8el;1(5^Oo>(s6HhrolPU46jl?Z1<o9I$J~s>GHlcw2tf&Zm@(U8SK`7$>R>1x8EC7B>J{WmdP{bn%`kP~i8@8;S(?WQ1))#s6dkwOppq}^ z6g|G#Ans+>3E&Ie%WMV!UjUi-lk_spKQS|!q^N$jW_D6RXxB-K&f=I{iQ+PpzJ$Yem9U1>ENae>U{@NE+}1p90DL3~l<# zq;8S2=Lg=JlOlqMM(+3Cam2%SDj z(R)TA6}8nUx<(S+EVPA)N_cuyRai(G^Nz%QDioOEy8o#8P#d{kD5AFK9xaXJ+9P}_ zk(-1}$R|2~u1a*0frhoCzmVXdPcqPs z{)Q)h;q4^ee=QnRh()d%Qu>*STTQ!_F6I5Y69yIH^xI|pa4#O3>2faYf}%ny&Zg3I zqk%?uc2Oaf)gQobFkQiX-$Y0^LQ?TaGhM@}b_*cWWxWWF(ap?uS)h>08V^)d+(vhD z(u)w%gAj}EtJ?qVg9YSGEN-~71-|k zN^FBraJt-JbH{)xx_6SI*%G-(C_rnB&>NE!UC1DGNQX+~a-jfSqpQtth7{^*6CP4X zRJ37|%Aw*e^tDFlhe?Xg9#Tjp1(Ov$&gh|&6|EH1Q9{A{Mk6$OvZBpES4~zlaVU6C zovi3sL7gBJ=<|%wp_3JL02BzL`U@}!ULMhC)`wuhoh;?=ce*D3t57YZiH}C zd7o3AKO9*q>qT&kK4Z2|1K7BLo66UmbVO+(mGvORq8~V9PASsqrgG3mooP!b%=(sY zDo2z`Q*kh+3nNYC24=+t^e2fuMkqM->ZZ~Q6gQRQCGu3E0KKD|O6dsH2Nd-M5_ySG zfZo?deddTl-BeyH3Dw`zrcS6BMno9Xd6b0vc&ZoL076}FF zYn|&Of#Rm(L@slIzR^wPWd^~1S4iZ|Lc!?=&1w4fFa(;46M3f#^rLPn7XdUtQ#p{z zrHKsMq;+*QmE#N1kpxERrgD5CI+A8QaZ@>-H`vyVa+->MmZl;Px>q@oH{AByft$)n z{IC)a&2(}hh7fn)0ZrwcLi8#J?ue$ckekXWEaVJ?bR&eD${C#Ml^tQ{vR(wo=zL~7 zWGD10i@2#=%1IX^qz54uUCANm?Syo?sjQaF|3fIudQu_xDo^bsO~t{S=)y=-*}|;2 zfUcC-YlVW-$%Wjj)cpnpgkI$)iM&%NK>sM@Ud3V%iuz%Rd`u`nXB6_d;Dz5vQyH~0 zSfZ&osFz&me-?7DGJj`jDn~OKP31K~eIOLP&ne_ypD{;6zrrG^p1v=IYWyi_8_4^U8*y*cRBKb4#SCD;R0P&$Q{Pn41#HH zmB2Ac;ZIzAXljwyE=_PKTExTiRwdXKB|gxw1DkZJ>0{tNIJ zOY;2y^g$tRrT#7-)J7k&z>|MlNcw8vkNA1c7&Mti?EiGM(D6RBs@D;=;&%!=^BY-i zaBLx!r5AJS_>R*p8w-O_S$z{voK`i{xt#W5gqL+Av@KyJsGIK_dyYeU5!!*!H5^(v z4rPeR^VMR-+k~Qc-YDeB^B&^>!a#2OFSLn&D-@t!-Q*4*Cr!@5l)Es}EhM5crSbexY}X6<;01L!=7yhtcO=W8ro zWmFr!*T&r`GJM#I!*KWEqqw`f4|j?bA39`Ed<=#TcNy;PHiorp(&IL7`jTEN5?u#Cvb9&(WfBk>_}(TDRw|F{AehT1t)>?f3$7Xf<*HQ#0- zUwP?UG`j`3$8zGK`7NmJ6Io&S(i|AyruJRjV>WIqaF*^|j?aG#mGGuEhH;+Qy!hCO z&qSE2_8Q;dR!<~)mOAA9LG3yvM4vrHEF)%xYqKziQHTsZWtjh(Gl0v=^V^lZg z4{BcX95<3P{CA53k8G%)T=Eg7m>~8zQ$%)k;@5XfkWVLS@}V=OKt-kdR$1t84Zzq& zVUpr$PQm`ZD8`K^J%gbzIPB?2R^(5M749rKtJaGGttuYIWbh6121;(jm0tiMU7-eU>u+h_GF*@XXyY!AWj{hjLKJYq{hZ z7n-k+DlI=c@_vM5+cKBCDiGD%C8#QPf&gRkAY6)913=kDvk#LlB9br$hiiWK@ByX! zAeS}S2KJR4$zwPZGdzJc+GJ5Fcp(!HvUZXHq)*)r#b_L)eZ}rbv=FLq1^b;}4~?Mm zfe-nUQ5t~uK^mS1?%+wmLt>0ct?;Iyv!+HKUsMk$Op*m{t(Qf?M;A(a5w&W>3ZQU_ zgjFn7$SMOc@b7TVU0z5fe1l`Pc|WA+%eEu5pV;Ki?mDWnh1IP&Q=j~=liPv2D#=Rr z`{VTlZPO$n-dBf1zFdQdwR|r$75$&}h}8!oIF!vU?}>U9cGH_DSi(#M;kF(%qDeSs zSZ>+qscL4Gv?o}%@kbs5t@=Lth}Y;&sp_8*KnH8%bZ^&iiAVMXvlJ?YU?ofosfLca z4LtRAzHjV_l-|ww2IXA^pnmuK6urJjrzn1=Q)cjF4?`uD9|)fUN?$wcWdF%(Y0VWaLl_dt+c+22BCpecFmB1iwb^lSlL zO6w-ds5>3B>tHbUVvT3^rVU?r=izVkAZx;a#8SiegfFAoWiAp{`D})fU!>osrBRoZ zHPyu?;2JhW<*mz3+6B+PephvI6wiHm5qx%izLsJZc0x|Pn%M27GI?+5RX2SFxk4y2 ziM0l(yBSa#4cqZ;{#a|kDdC0ho1f@Qkmx)3@C!XZPr!w7C31LP|Gtf|y;q?#OHckD zg6Xt5;8q7BISBmhHpp6JDz3uT;#P@MohN3Mp1K-aSM+xrf5zxNU_Sk8HYfQn1cpYb zCV4w6e5j7bS*j&2rtGB!!m(H0cQ)gUfB7g~9D(o4s=x>@cX0k|3WAfk1P^sEkRKWz zH;~q-i$MzC+g##KU`1)s1x$PT7w)Mco#IM?pg9UQXNGJw3Gsv@nH$C*TWlwRW}PIE zCT@h5l#Wk5rv#9uI)qh)yYb}DejClx3LC)u6)*y8?zNkTT2Ri`0K=^vR3evhQw&N1 zL=j9rGRpVhvEA@ZI7yo>xq>lhZ_n`=!6d?WuAzLkpED5qxPLqUz}`EI&hWrzP%~Ph zFSvyp{B+l-xk$+hsGY!dz4QJUK3Uh#P-_H~$Uttg@yDk*ttXT1OKUOp7QmyOj1^(| z;RmL@`3-+suN>m@r&?QGymHAHjAoql&Lls+E(%oCLDz-(F^>wUG1q+c9&_$qSkj3Y z<9Y|4`4N^jWnLH>9sNpewn0g)HTNv~VadNP6v@Ie{885&3c&*;(-Qb46CC85^9?cT zeRZ5)!|uP8K{~)F0~8}AB_K>^%iwEDWL=Y$U(-$_UB3kEjjlOHY&@N#rf^@0di)#x zrg7HnO}V8{XGuJB=y z^!Cu_OCRR#)PFB;j~TI?5SOz&Y)Oos)Qk^KITJ>5^@XM@tgIZWiIN5RROiNDn}K+o zlOLA#Y$T^LyP1T*RDFL%Ds$tvzj9Z;zg3H?R{e01yl-*eszeZJI;g=!CHNsEc{807 zE-mV7rNVwbU=MjkMJt)>Su5^XlgQV;9YfCa+w4Sn7)W!I%b214seJT-*fLXM6Qsv5 z7EZM`U<2{|1p@lzvdxMZ-n4fq$6MW7+bS&5s1_A&bY8Ly$2NJT`aj zx3Hk{G^rT0nna-`AbUwEQK<^P`6ru%8SDGjFE-@;yVBnk+46S-IU!wL!;#ApLt*2t zsQvvm7qvxnAE~0gvK~f@?6%Ob;+3i{d+`!P6nq>L_`I=C>t-)mj)CNyAwUT)x?IdA zv#bvU@a|RXW8w`Q{G>gCS=s3nr3<9t0xE=hB_Pvf*DD6EG=Z0DmI}EX{d@_uCboft zufGUNOX2?sj7?0tEr;%0Cp#0Ap0p_B1hFeJ!ZJ!2K8v5B1iR;q;~nrznVHBX%;d4j za?4su=F4wir)x(*ev!-D{7aWgS#TNweF<8f{X8XrGD0M{^PWY8y2)LH_i zBPaRY9ll-bc~h3S&?w)%?>2ix>8bzcpq<$fYMMNAt&F7h$3d6ns*>cT=F%lovK`M$ z=b}+eSQRR^DPYpL)k_|f!LeD=0h)Y`r}+@O9{H#)TAexmWp|K+Z~n}zut^GueSBK( zQk0j&hptvIb0aG2hbjH;c~(Gm*i@r`e$2JP`o|y7LQvQ2s6_amo#+d+=R1ma10qZS zQfkzo;cS9?;=f#>`IHRj;!#xXPD~ur%u>+7iPrQy_-&2z0t!mM86pn0@5+Dv>T4tm zzY7QI3w0Obw>OQ%q2}?+>J`kf0G0<>v^$Y$){Xrbu6+7eMutBx8F!qfW?`kT=Ap}~ zSo%N25C-iaUi6sr3gErL+q=>P5#fp9iPJw!po4koi0(=inWpoMm6BgALscr`r$hh zVq`ov`|}+CJ;XMtM48tJCnDQ{ekJ z@0HKzZVlgRcq76{I^I}?Q&_|y zys(9y_w91xR9s-SIy5@@7Rb8?kQExR_Yp2E5)K$H|JS6=I00G?I{u8Gmsrq1j{>Bf z?OWovG2CxTp3XQOTc`)S#GctsHy=}o*gkT8p8OE7VUFI%B}Rq!>D-`3)n>bkn4-c* z?y@-X&3ap#vSDdQpdB}pwv)H<^X3udlye`gnxT0}t6x zD*sY+i1RSHS=-q9Q95Jn8IuYzNoDSJJ*YmCM{nc%{5JX83GS=9*|d;}j2`B$HR zLI+oLcGz4x!CvFT|4fK6N#oQ#Mq}H6)`^cXXG|8`EPw* zvF5&iCntuYLg)V~@z9NZWp-w$aQ!ROw~3ylyqgQt zBtq*^nny7T07muxgh53x!L;qZ0pH2Zc?C0gwEPdKiBVS~TWkw3YtGw*g6Z1xew zskHn4)Jh>>V8j*ACl{dS^S!#&|DK?--lp;?%;E~U?_Z?|3*Xz>n89!3%t1U8pO2C% zHJUFiBm+z?>kyj6gI>4c>_&`sHwGlE1da7JucLT<&}u;Sn%@;)1^<7O<|W469>X3n*_$WK#JIV9d1gx!kqK^6Cu!tK{Z} zogTs~dyQ{w07sKn%GioYKgCj8;FB1!ReyFP;n@y?sR>2ajbg^wO88s9`l%C@Cv1N) zNM%her%Yc1qpDspVL9>!3$-oN>@bGC-gbflL4;)?2I2jW7KSsr8fiArkxqc2CgRk^ z7q|Ag^89H3ZPpb6AcjSG-P?12=%15xhvWL`TUS;lCNh-YMWxH;q?odWnF~h+YQ*Q# z4!=D{-u`oL!0;bpgoOhZS(34h8*yO+@HhGmRR=!9@PV=W-R6 z|A*kf35-CW-B>6IYC(e;d0)q}3&kBD#r*-nTGctu5m8k0JeJ2M!&PIy_pAKp)Psso zEsB~9*t7&n1m-plb%a#>qTfP0w;%K1`$ZiHJ=8O$4Ib{zi3zkfmd9BK=xjv6)WI=pMqqQHuWwWM56m>XJi3Oin+r$MDeRj4HW;hCU(%{>q)m zmE_LcdO(V;dUKb{9J?P1v7B-|6%Lln$*Te`%Z_BG2q2`)p|+8&{9%5k+x)VI+>x}b zOoAb&jK0Ip85j`}5B^3=TA%M3+Fk*X_Dq+DNedN?8#Sd_d6q6r@yYi>qH%};0!S3< zr3?#sQpx_>qmRdu0JK-Yc?>HRP6aa z?m@9YN%tWN*?gEG&^;4T>@yC>%?zr%yL*#u9EJ268QlQLsQ8!%TK0oNT8ljPSE5Ck z2>z=MP{N%)4K>Nj9k@LuHKnfODKKHFJ4wj?A}=f;0Z_o%Q8>B7Q(ZMxHKh0{>J~0~ z(bM$xLlpnwyR!u8&eH5vv%UD<{wLgH^nFLK?(gE{8`A-KkKcSK!7yJ%7KtAqn zKG4MH1uQkcAtVS`2SSqqi&UWj z-|Ty{=c=~PBC32S>=O4<+t2yGledMg_!O6zrHMx5p**8*-_E!`ZXagv9A|GA*d+T? za6U-;l5WurMjv#U7G97xU^%r{R>Z1q)c++uI&$q6NNW^IK>Db8J`vG_L|8CRy-+>bnquT zTq?(XO|nt@$g{D{+9tA3H`DmJYnLyQzCqm3GFvsA`v{CyxGR5}Ab zjFJg(SYFdonck8pV<{;$o0d&kfP?GIk9ivcD)UdvuoAT%sT~bF#z&hSs&)M9=o3kI zt(v@!har37dvQZ25wPziXW3BdDT6SR?80hjgGDR)$Q}kN%UOIuNp8)4IFY&2sKdp6o?{F*+jD+V8jHJk{Dm1_U%4|DA3{ z;U$T7gqf-OoYv}i9=et!u=PW@K7?-R55!HXT##Pn<+{uXDclo%qlWABskyG2v5$+= zl=P=7fRw!7G5g}omZCkruw%y8pkWVx+I_dfD&79T;`3o;*2PxJu@2E z!Lsk!l%W-c?%x${B?|x?R7!plQv9Q2kQIw(DCuFleEZW*w?#zeP41WBGOhXj8Z9Jo z`)*^jCbwVFU&=L)i?+x#J$M7ci5;1H_@vDKAr%wpwtc=!x*;|ehYs@VvrM2dbKq?$ z!%X1Ge3!6%I@&f?K)xQCClSrBz){;Z;MoPoshvmVIfV1X5WFq{Rr1^5AMypR&gR5iV{g=GD z(uW_I38AW7w6{;2->R}d*F~oFSFj58?v_4>V6!HK zmR@wv?TMShQN?#x=m=qN=ble&G9+wWz@DjTLH>*{py!$5RMntutkO1Qf04KmkV`Y3 z#Rg#W08yjwRm#GdaYAkCKNP~evNE`g+zZ2|=4QuXk~t%$wbT&UqgjEpY%GARghRTO zkKzU0QyFq`bD^&4cN?SB#c$&lNVI-GX+H0}0qrSS`(t;$74XXeuY=2Rfn;!fay?u- z^{=Wo8H0Z+Q|Pu-j*8gB8SeI^)JOygUQzY0lU>zo$SBao8;uhpjE>B(aT-1=yc$TE zjnM?s@)Fxppu6aENRRu%ui-(YtOjFVVxlP8wDC=}`1@z1pqF2#DQzQ2JvF>jtq1!N zyRIe->SsxKh-JKmH}+6 z0r%qV2|f%e5A44)_!ATEqrbHdIq7pa231g~2MjMv_Gc0-9(QLn#7Dj<+?f0wEow+z zlL4-Nuwi8C%$Ibvo>qu(!9bQDSG9(xSIc7CHkR6gY;6Tdp2GE>296@@02I@`ChRhz zn#=*M+dr_Ei3%5qoQtY`XAsfj&0R(}y6A>VpN$GE$X!)8F$2eMkn=pe7NcXgcYN2l zvlFvWoccH=Jp|max9`zKs77}^e$}h+L1OcOdxj=g>6*^MVWJpT(b968b*q?HP_N zedX(uN%mc%&OMYs%3^Z13BV;Ef&h2x%(k|W)y7kX-w2fo5?j^b0wW^hU8Yh@p= z)mj*r@{rGF+lZTjbNa_N$;NRaV_=G3g-4a@sER4e9r&wLYt|{Y0xuGNJU72Ge;E_m zuT9KBj}XZVf6GA%K8vPQd8lUu593`>w%^}lq{<&Gi$jonVPUoQ;VXb#ECPYRwp z@n+xTC~Ahwb#5X=Zn~hhspGv(nK~rWV7QrQ9biY2v-l&u zpl1jIDvceU>P#;%M1w>reu<>+)XT^^I#EJ4FWv+D>-xu6=GH2;(lKrJk~r01wlP%9 zv*YUCm;02iRWD_bg^|%$;LT30&9|JA?G@PK8trvb_@DoxI27T+%AQ*laaT?2kDb~B@#{Z^}pvPI2qERN_=)N()9c$bFHaeD0dTJLW0EQH=4 z+k*tPe-5We4l0-+3eur-&Wktqw`tMfCcnXM>H>%BpY|Tl@^4w8p&^?{& zL&~EIV7B3!?QW)t(o|a@gCQ{w#@X}^s`@oY2EF2+3l4oPFa~n0b+xSAo!*#0xD(V? zJm{`(tkeHvieB1np{S@X_mdrQop$K%Y?^UbW5PC0KF(YC*Z><>ZE^O-5m?YszE*0y=6_rgSf#L=gA zKrzOix?;zQ>Y>}!Cr%(`qL)c)_QgnZMA>&-V3lZm-B=N zxBLrt^#Pwws2uz-az-y)cgd4@spnyDZaOXOQM-GL;%cDiU-_W{SSU1U+L_RYv_&}q z2(JnXendI-b((l;9GA8%2R&E+QOVvZRD^tyjQwJul-z)iu@Hx`;Cw{W#xC_cZjD$k z;^0A?gIS-xhdKg*hiO&qNmf=tmd~BOqs&%0IsTZA zXPdm;O+T}H&F7B#yvj}XXh`*;UnxbI#GY4$G05v9%W4s$oTI?563q>FX^mR($<}@M z&(eg*NLP@r-><61nT${1g3FhT`UNRXYBR0e#KYuWv;m2AuAek){de(e@EnvD2g4S+ z#M@7OHiCg$i*HrOUphWD`+nyst>V~KI+(gStKB9xxaf0p>Svo5zHPDsrx%>^%G;Sm zvuIq_){zMYiZza8{Ppm^%cyFJxS!>@=L7*5fb`x<-@axN|Wx5(s-`Q>xEftXT9ncakrirC6^360R_9z1ax zKqHafnrBk{Hyo?=s{B#ved#Et#$aCg+)tx@Q#{`zgKbR5W||NXaS&CxU5D-Bz#X$< zo{=-cf^^14*V$-PsDlFs3H zRcqM*kc8T~Psw?j>h)S5PZ|ZSb=2#3;^HY{S(qRK4uzT6X@GWr;uojMScoxk6fZFb z?~`Lf7zxps1zynT5<`!e6uiE}4z-6E8Ilt|bPfsbr9d*l1L%Ak3t3id^@PRznX-5G zNQiz5z%JjoVt?lC`%Dg}1k5ymm+(Zw4{b@cXRMQrIzG8442Yj`b@I*)287YDT20vx zS=NBV)UnlAL9IiAW0`_0jR7H`Qo+C9loO0I#WeB=#Us4+}` zfDb6b@RcTvF!WorARN=_>&=dZwbh#0-_E0~tb3G=3U`)AXT|$Q>k3|KLAnUsu>YjEce=-CX#VJVB8JBqde|ZvMjPs z{QZ7`|JG)5@Nu3Tnk>nA}xWtBq4y>^@t z3xJmm%fmF`oe%b-fTac5L3t`6hGuZM^cQ59yOkrlx&!9)bK5RuHuSa>5WgBqQJO(e z{JVi?N{emEerNG0!&$$wWajs)RF;7X_c|ioz`=xl#`jZiWcfw$u-t8&`|d7&fvPvK zjmGC-;&}dZH2XoeV+m^yMAhwrgm6Of0Wvxp55&#@@+$byp-Qp5Z!T+*E1uj|ij?jV z1?z-f+=0lMFU`Y{$e90RaR(1YJTuEOB~l<=j|&)qM=xA)E%b?ts&91eG|%DO2lVzi z#`quhc3YT1zMIC`U{lReLcQ(ZjWX$&G1Pg?c*qA~=C9UF3vHHH=h_~Hp(=w)!AI>x z$*)dhLGm6SW)4gQ#>R@@alM(kV#Fc3U04c}erA%XCS^iUPN~(M7?TRdPd(#3mac>ezukXNBdrxA)Z7RxNZQX|U z>0E~d+>Eb`lPyJPHq*;xsk%@j7u;z{uUwJdh6$ z{xPFu^Ug1rDfhN$QV`{t1dC%}#@AXvksPp=&F*GSMDTsx^P7frAr@rZQv9`hxnl;a zrDwayHu|6}=3Te(pM3Wtlc}KnMg5umQ2-f5Xc=}N>Am`nNKlFBM+E87I8sYhXqBMX zcX&ED*O|NLwd#daIjXEg)w^jf>lXy=<_VLz!(d{vv4qEZz^WU0bd#l};>~pl(P#zL zPhrGLR^&GoiH|Ai>0w(FqNX6jX9U@)c8@^2pyeS!;xyTS^U<_63DgI*6q{cwR@m(c z<)@t2LWia~lFxNj;4s$NIxXeq{De%G-wDOVx^g@21%*0-Qy1&uD0U22$SoXF-hJoV zEwxq=v_gq1zOFfM`H~6RX+)xzNpnuEXotK|iH#T_Cf@0smil#B{S={8s4jVTotCgR zViH5ZgY)E26!x0acYHlwC@6v{UdMn7(+kXRKc*^9`%R4C91p6^$bM50F-8Q%b7t)? zISBx~hT18lTeA%YDf5s!)#oW<%3AZGa*v`7T{|#+S1PO>NV z{suOw7#K-#K;d#{KLtEBkxofl!b(G-lhtU&2|#&m`bfy(U+5SnD4>HZkHOJV__~!; z_*-tU=`~lnvZ}iIQz!Ms$S|cD?}x!j(s=>~*s*xfp5Y+C3oOOg1YijkD+`E3v%y5( z_n{A;4$l{+)tr`wZz-1a2+t2e^T$NCtwIsKFVf2Br4?ZWIY*zTgF@!*7uewT-zffN^MAhFwFY%yT_ziOnZ4JTYnUcgND#LJRV-v=PlcjB zJ3Y#ce&+)c4_HD+cTI^W5XgLSls^Qee*`@G_^K(^SMs1#b?jmX+;MJ>{t1it;>NVn z?ddzcI9a16&=*)8M)g20MHg?e&O*dF&(?$a4knc0D7Qz?5D!W=ly>sH`3a~Vvl-Bd z)Y2yo#=ku5TOKspXY*7QNV+|MwxAkVEyno06nBLkx%Cc@=-}7^S-WrjPe2(yK1l1% zz2YQZj@4FALbE%@B8tPbk6ZJU%2A^sF1?y0;Mu)G-L;%8x+ieXT7T*O%|+&N-zu|lQ04lpNiD{kh>GuLYbOa?+~izQ5ba>wgRhviAJM zTd&4Rg)x$Uno&*;fFa2a(Dv-UnQoTmiYG?iBM|6DjYmfwl`L=q$vW?aa=5F4#`By0 z7T>?qeT?Te@x$SEgV%L#>8jA5pi52X+9&f^ohT&Q`Pv;``+lm}o16!CwW*TWgNHlu zBe$7g(AmU0w59;6tlmgLdvh*}i+>-h%1R{NVpx23t1|>wjNzEUw{C~u^bMWy@eagn zP~!jUU!w}M2QhG@4sbaz)wP*&xiWf8aC(b1IcH5&$eCEC)kA*Xv0Q!as1s9i6FkW32+yDfdEt6L3DFBvPxUFb zTMR7Cby&dhH<2g^m1a>*I)VcYT%tNsO*uk}q;evg33HUZ)1T2pk(>eIC&2Uy$4WaH zqn}M5tLzNS!3gzQI{r?0slXmaDfngb;+Nas=l@`yTSuOiY`qEQ-7GYiZM|>cG@K!s z#Lz~GpkE}J9iE?6<=}4uz)&%Izi3X_rNfPF@YAiNlL942Th34%v_>hS_iOu+-a86SR zuOHC-Od_b!kZs#hMDISfSh^+*x}g|~HFB@KH1LX&$bZioTK4Z2q}}XQR;tfytvTA= z3~1@ZLg}pGFzCH_{kUkZUY`fKuj=I>f84w4Ae@8MverW#5fGCHX+q)2=vgF@!JUyI zI2ltO8^~KmBpAqY!{@6D*cgzb{;S~6%;JK|saelVFmx5ED$Y&LJXh;i1=1U7qw=SMaZ6r#U^;VgqfwL;P_=6*SC{p%O_gF0=I>+f&sOA7%w4jZgjI+Z>aoEv+9vyeFdmXe zTz2B6tY~j}zT$7^V}6nmyGG6TaqzUP($=+{-7*zK`daBeTTyANP)N|;wD>vUY5ucG zWGtlbPv^|w&T4CRFp-g{dMd`8!$aXHb)G#-StOG4Hj}}CV5y5A-9;tt z_SNk_a>$B!xvxEzY-CjmKvBbzV za5hkS!Ox(iP7|8%#*MR?ff2HUVKfQ1NE99sL3y=YgLX_UpDW zZefJ4d$#b6mNK{{;q&tS#jU2^25$E_r^?E0q&=P1J9dTT=gMD({(7CJKHz=f5QEb21p-%NdjsT3zS z()#L#f(WVpkjCLxZ3F!N zp+M3J+r4O3t)8GCWcis=_Cfvg_njFb2s_+`6{RfiN_Uc=7r=?A%XD|qP)_ZWa5zQl zA@Gq5O*j&Ky3}I4B&AkWGkjs~Br7Xn5m1(dq_f8T zGjlxiF6MUJuRokLpm<)1)mE~mIprAhyRy~R!!XNv&HBubV!FN!dKxwVm%$2fRg5~dL6*bv#i2ln(tFf z7>8~5KH~#hUz}9vg3r&0ceg2C0HT=VNDyhJEr&*2h=+~KPp$q|)%)JY z&_;UN$UV^Rn(W#I0hj-{?HYv-;mwn8(D>)C0!uD7E#Tpz;zV7L*$oMX8h;Saiy_H< zeUshOBl%^wLBVX5c2~I#*)re`ZKMYxW;Chw^eBv!17A?PNA=N8h2$r#mE3EX2MdSb zdDIfo2R|52qQQ~7Ol4tGwz9LTGv&j?nPQ;~ldW6TSL9pTax}I)FJ81_9hrlt{OND= zBPZU;bZeVI_XX`JF;Opa< z1uSN76?e~MiYepaJ(fyJ6GFl(UqP<(-@%RAv29p7U%7i_AHLpfiFp$VMQT<0sALF5 z+B9BOnf*YpDQfz-kNK~^GoeSsj^}#{rE!#Wi;fPDfhPwcMpOWlLU4{Ku#ct*_C|1I z$RC#58TSyyd-O&jCS&E3_nHcEH?&#ZjCuY>*&^X5zOV6E4E#L>R8Xsqw7p@E;#SeN z(mOS1s@|*7&*OpS4WF3hf|HRpJCI{bRN2XQ2&0$G@J=ssR73QUOVVd=e*_t)3z@m^ zjvz;N^#zu!)UR=Sf5f+CxPhL1W~R!e)1Ao2*QTks`<3;2T%X zivKaAT5xX99i@H_92W1d`UI+APp~!l{$cIJH+CC&^Cce%Z=gYt{Si`lVDzENK3DLU zW@$!=8yaH?DS#h=E&IEa2VnWPJu{hqZoxhlM_})|ZqhIvsZY~8l}1t@imsxYwgcU6 zrQ&is0pC{zvy0+jWbZmG8#>G z7m_=HUKI+mY^}V<+w(QkqqY3WUhIYcO$k^F3wRzevnoY6GV~OLvrMusu3Q!8E@01E zE1B-kbv<$lnS;8(IMk!>SAVmI7Z}zvRm}Lxv|%;^gLX;a%x5k@bP~cnle-?t+x>lF z9h>b;Yx!lKEp!jl$!9L(ceqIh@MHu*!c#>-@6bMC(bM&EC6RtZk-d`Oj&&I-u_V)U z-j!QEwCVF}cJX6$ywM7`wxL}l2>xUUO-0|rZg}UJ)J)ffJ?W@zv=DD+ZeS#f`D7P( z6wy;D-AfrftCflf`pZ_)7&I^HYuVJRraHyYD9M#LukrURX4f~(53(IR6}_~TP;vuM zIkN*PXZt~zZQcQ9D!&&j)M0Jkx!eYnVXkrjyz|l{FUWiHEZ;p2IGESrFNnmqZY%HnZcqt@y$3{exr*tw?6z!}TGuvX)o!XYZ$H_yUqz>W@sQSfw1{ z`^d_k$nx8ou+Hdgr!QyUO97C1-~=iJ!fzSG`5iS@fWT$Bmeh)6j~+g1=+L}Gu&d_D zvCXm4Fplk|`HA_|Q7swxPJC89(yOEPuA+25VNf|)@}p#0E=bi(Aje2m%`W+x7^BZp z>kB4c!rBcW5b`mWj*f0_*R8~|wM^n87O8f@;=X29RSQ42o#^FKfbaJZ;Q^vi#%@iT zZ{z4%J9BTLm6AM$B$N8U>TcO~etzNBZxi1j8+abp-a|K5%>gP;O^B(i`%mKY&1tug z@9|L)2Pe@V8u_ttdy{qR7xMRcbiQ;cP;=AaV{yb|I2iWRixULteDRa>PKXt=>hi3T zOuoretG^-XHzudj?ooNZ&-`f+zTF>9EY+X6ZEtBSz<{|qZNpHJfPH_B>pe|oFvrYz z0u~iCew_N^+9-M8@(z%jlKroMyP-iC`w`nt^MnvlOX=LKVJ+Wg#fz^(+E5HD#Q41J zIs;oP2T}9Az`;Auk;wRg_xZqDZCTlRwS@~g1LdC(2=hHxzSplZpc+!=B84am^Wh%^ ze{9(Y+C{6_AL`Om^qrEo8aDu|paO?~_z<7oQlI0=FN)>Vl(dFbye?7JPrV#Wk4h10 zboGq30;Vk4=LF_iBMBQtm7+x>L7X&J-boZ|5wssNuz!<)?c!LqpQ4J>@k`{X0FYyy zu;>h9br^8fm=FVro!8q>Az9An3=@oXc1{yPMOHjg!49ZZ#j3pvQc!c)YG;8B;%f_= zT5e-tKWRW8FE*ziqHC9GRD}Q2M15A5-Y5d0W_eQOh{(o?x5>@~-E=s-+X1Of7Wk3! zV{~?4hoz9CYh5QbC-9Gn+LX|E`yGQUt`d?C%nTmDHXkDb-xYucgE$0hiSEAdMT;%m zD3VtGxcHN4Bxzqg!A^ZCdpi$F7OZ{4=VKP-KGWxCi zf{u=;QzTl$a82vyT)qs`KLe<`;c@mle@w}@eO8WJW;-VZN==|3O9GRfYh(uFxBcL= zm$yrC)tIjwc8){OWoLGTfsX^m>Km3n&h%1_{M$2T8x>u`n>yCl-{bG2i zw$<5h|FE7O67H8p<=u{l2xp+k)Qj4Hev0Y3w%)hJ;bfAkZX8+Qb9{mvad>+jHxH`$Oh_I1|M1duS7|=jG$fVJZXvywZJJ~gE^gg&Dv9Zh*az;dwtG0KtGB8+Uf7QN3{7j5Sbq;?XJ8J15Z><{i3uH_1Nf5PMesEC0^dD=#_ucxST#9_ji;{ zIqYx&HGi6^f6D&60MmwJ1-#$xxZ)n{@b^S7J0vy78S-Vh!#1_Bf*v}_V70wWUP%gV z=*|86tVQbr%=_z%pV7TFBfhIxG}zAC;EQChO9Zu+b`%(=cuG=Z$}Z@VNcuf;Ox9*e zy&Cy<|p2-TuMhQLU00!!_=yCINyMP z-%HLM*;L0kX$?=MLqM)(K z6z&UFAj;ol=z9}eN?JwcCrcv3k?y%H!z}~%FV0IPNjn>Fq`&P!$$vSx4Hk4iv59nN zs9D3pPd}@9WDE+ilttSXr~N;O_s2rIrDW4yqylBvA~F~O<4vX{IXrsc6*(!~1oe4MjJFmb-LRR!8Qg=Bm(x09U0o2eaaG|0NXh(bv-pjYf9 zgq%!5c9>hI2vvPnlc_4q>=*P`5F)+gw zXpGUsyV)!nmJPyaicYj7ohy$%Mr8)-vy{Bj1JZH<2l)`la$v-LpO|wW-&!!E+~xW8 zd!*Yz2;_^>uNN4|*u7|H2?9xn>uZjszZ1)S;z7z;;nHc{lf=IZ(kt+NJ9a%^oHmE#MR|zP@3TObk8P>O6n-7^#W*AwORMT_0`)S1QZj7< zGPUBX4mz@*WF$4YR7)(mEo} zo5#02>}eSJIMz1he~1m{3!HrkYCe>9J~R%;V-zc0xnd5~Ef0E^qKz9S&b7KgT&x1_ zseUb%ihL5Ht%f6oRS9`2%OK({Hmz*!Dv%IR8@SeVKk+|PCts5f;NcCQ80WMvw&2@^*fAut;jwai8T8n`+F z;ls4d1N}ADZ#gc>aO>-dmP_CF(SdeAD#3NmL-B> z>(NOskqr=vY(HvydJD@EAsg&LX@f-exlm-=71~;ZMPLDtxwy69iRFS=zeIZ#D)#G= zR|sqU5-mdJe|44iF25@v^LRkcF(^?2t%Fc2;4-{KXG>$&jU8I@5Tm3TN|uaC%XGn_ zKwshT)0NWiKW$Rep%}5y%baeyS{j#O=7BXItV}0eD~+ojS5cCF`u34%{ZuGw`bVg< z28zG}puQ!YHCGVJg+j%j+F4%<%Mu}T31_8dyPQ66Zf>@plBHgsEH7CMQzkgh38$2ab#|^p2qHNP}Vu>nmD5 z5(^=0Bt}T)?{(&LBPDaiPmR#MME6fIV}y+6=w|J6a|1~}zK|NM;G)%5MV}-h6<4$a z@BTXjPA@gXBgcQBC@y|yklO~_=RU(^jxV_!5=UJY3N6j}LoP1HG-{xz+$vqhQ$m4h z?r=3wH1;!jE#g5Dg+dzeTM-+fhPbR31k_q6^t9o!{sxH4@`@~9C@^igtQwz7S#OCb z6r#&Y`y5`g`x+?PE1=(nLXW$|hQabE-*%%y@#B#1bX}G9XSAF8^97YLP<@Z~;M~@J zL-MX!Q$j~9hQ0xO+hF7821QqJ(*X73D<<7PTGrFU6qeUyAJ#z86;X0WC=4H_98()8 zYBCzt3mSm~6JKs_fC{BN+#_A1I`8qbg37^#%Z-}~lG+q7P+N2(1@RfjEAD>>+G{%h_gZBiBqinW9n5`e9 zD_9L*&YP{)$C>)PrCPSjL$lehL~(`1+2(V$o1xj}|0~;kD_i_7T*gSD#e8F<>R3z& zV5NEjw1jVf3>*u8#mxs7Pfhduw1w-xVywYeKsIutoCk~p)KRD%SXC%|KU;Bx#*edl zOeYa$3k7Jt26bQ%TJf3)>3gjape?!;KVs0=4HV55;XI)L-BymB4HPX0=kDql=YSYN`_*pvjKp?v*f^p_ZqgUMfz zl+T_p6ZbK1gNgdk&@hB^_3?Oco{0~t(aEU)O}J+japSIehk!FR%TI|?!FE5DsAzPy+aI7g zVT(zb(PfkpiKSiAZpFpV4hxyRlhYDfub_vs%M2F+nO*(nM6gSCK_ZfmspIsUohC}eEKK~E}TrK`d5?gf<2@Ru6z65Omu`nm4>Ku$3hu9h<)!|7eP;g@HZh(0g+Eu(q%u>{4e*bf zoqo~IGKIqZx56BF>96xtgSh>b$Se%np}J#jWknNMStQyqala1tkHa}u9g^p9p~!<+ z#miD@!pjtjGW+XqMjnSkJHFK!DXmyWC_op&LdMgK)P{b)+aJ*PvI_aV&!!N&Iz zjR{B3tojwMJ>$KbG@2ZaiP8rSeh0xHz>!^&%ZC?gXht}mQASL|6>}~DTz`_w2N2C< zX=^hO>PNUhn{RHD}ugUhtrH zBjcW!Wl;2+-ZyCzU#ICfOE0;kaDBL$D6Kllrdv5*(#vcd5wkYyTFw_5Y-POVQEH18 zJ}VS0@}rFpJ1tRJ5n;=Q!_G)tEh&^THimwZG$XZ(GYc;e>h9;KLUC}#ZMqb3w4OEh z+AwPloF(^_>7b6yJ+_cZ@qj2eArxap@uYYuQ3WM`3IY|_Ym0F-RJ3vyW-yFErj-AH zP=NN^cr=O-mL)<7C1#S0)Fh`bOV@}J1?}2iqC$FydDMoXgO{G?IEpSvk-( zZpoG|p(weyZrN284HU@_LSgm=n`2Z}MNiH)^b9^xWRr!~C88gz@eJO1HtLT<{5c|A zEEJ&i8Z;ybS|UQLG=P5Apzi?E<(&}J??PeIbz50H4Y_+)3kBk)cJ?J5-fHmzOCn|DayW54OjR1yjm;|#Jt)lgA_@Hz^G>jtFN71!%s(!T0D~3BCa$8zdAVBf*z6*9yK-A{;LiAPK$?0g6O~#vf8FkbqkP zfga7059z+MRQqk7XjvjO=r{E9y}~>x6gICkxS#J6mL-D6O7wFytRIVgikCPjzhAph zMlGHmwsNbUo@k)&xe1nx<%waqlq=oz` z!b#uY13g_^gR+8sW@7q4g4L# zKf&?SMl+mDYBS%!mTMpD|9rj}s`bdpM!I+{Tj-NSw9DX=js5cx3+);z8ZW|iLIJvD zII5 z42n4eKIgvHP|*#^^^Z{GE;JnvH&RsLTZ76z-3X5pBA;!fD85K5+h966Hd6G#w+6+$ z-bm3R{E^W}(O>w(*GN&~LW5%d+endrA*wR8k)k7ew3VlXqMS{pV{s!z(;4(#BSrs+ z(AcZN0PQjzCmSi+3s59LUNPf<7DO#FDCR;VMGY2VfB~XV5Qj9vXCbBmVZYHx(HtqD zP$&vIYC6g_RU zHBzY6xpcpvq2`f}Ce2-JP;8!l%aMkfcyxbwvDL+faxhbL1wU_ihMKjLOp0A1ORixi zI%Lx&p${Qo1M9~k%;lp3Df_@dU5kI&kRJgX`Ygc`kc*)F2$b<1IDAZzAAv%Qr3OX2 z{SEznJ*i3fMu|5-10t{nXssnpTq$`Ojh)%q^bxZ^1v@vTr=J!?Z0uyxzNH40`{jT( z;*`*6eq-Qs{_bXvW$4^=1aFkk+K4UN3>vu%djW9JlYfjr=lyXRUVuqYr*(Wa>pGJB z2F!ZaQf0Y5BB2eOd}BGbd6Dg(QA9^|Y!8SCX|asdCU`PTMdF*aIV$ z<4v7xXNI5XTEx(u2JJ#w8D6>-f!Qx%1zz4LG1=Z>PxOYs?QsXN`{6xNz8y>KHQ=Y> zJ!xk4XXccZ7|+0@0rnR=o77{KL2-#k6-B4eZ2ns4vQ_8>@r@M~9Me^rZFeL#R`m30 zgJN1VR@8GfVi)Ifn-A;y>=TOEU1KMfEiKZrwL&5L&3?CY+7cbr$jIZGmhjFgJK|%) zYD7?Q6LE?wb8NL0$2zT#V0l5}N~4R6ss9~<*-Mx0aN?Nna6E9FYkPxhdkCEQ;2@xB z5MTXhwT7D&K8Qb|eQ-nj;Jr2CgSCKgJ%=3AR*x2ndX9+}gzrP}GE#dZ4cBZy+8@Y58eQxD?|FWi&-%I| z;h_bbnE1Uxarq~>2P|aH32+L*;Zv2xe95KH4|p5lq@w7av?3B6Weqq<;CN{@XEfL1 zjc0Jsb=EMi&04JK@O|Pnk(lW6kq-W_qk?>FvBUd8fropA))ynJmqq**YpAJRhqmyIS$+W9;Qrsn7 zm26jlZgT#)>oHt-f5(?SQhL&8*7NL729;~{yEe`z6jh|JSf2b7%z+2KDg_UGigeHe z8ngZU!zKj z5>9D-ha(+tR8rIu5@A~E)* zaVd1I&ERp@TFkdm9KT}J(eu{gQs`W-|B312w+sQA>oDMgigHUV3dY$bp}GnFTc2mo`>GSe9gi z0sTrlwl`LEV2eR9CmSoeZ>vF()I?Fy8U4}5qsmdGiK0f}<0qHm&no`L)71O;Gp9+S ztD{hS{%OK}gnz}2n(0h)QL?n)k3vIQas)dtZ>vG&0wSFy6djF5vV7)N%l{)wqaW@^ zI@k|2rpz{j$_*+kJY{DG!EyTj1GuJ!ym?TOk#(Y90XbIh!z zsK!o1f6lL_$U-p_?sMSx3etA6uXXIT6I`lL#NHeodt-JQxbX`-kxK#^;jC>kMtSy9@ttBImsy9{z1YNBWs z{y5V_(Scnu8V?gS1wv8V1qOf6+D5`qMaP6`JBjdd%dnSI$9cw^q-l9E&4IW z-`XqltInbK-}_laamnX{Pgo9=#!qQA-iNui0Bkp%VboBtBJt~5MN;{lrTNEzPV6&? ze_gBUerb(IFY1atEflSBQ~$cwoBQDxZjB#B`m0bldcSUs=|Dx|X-L8a?dSugiJy+x zFKgAMg(B1O(jiN`j8r@v^SFA;$Us+ghU-EtXX}nWC<=qoh5eSV2k{qxpE!V#0KOAO zM`oltJsm=r0}mMTEgl*bg$HFTz_9xGDAsiTfT8D)$E5h@gu?ERqj>&^KPdA@hl4VI zJT9Q8gv!+LPlBS44jQC?F6?O$S{em}`C~aWV*WS>H1QbY6-Ry&#beClhh%7JkGB&s zXUxA499l4t3^*hMNpmTuwNNys%pWa;6)Kv*^9T2Fi=8Ae)cKPr-L)@?IisSuYcD$_ zUHdHlK-Yfkumn@GvtJsb?C*F^fJP?R+)ie1*9Q6XIsmuEV?m(av*;V3svKv!quo^T%{@*sf}|z0bg!*w#$dF zEx9Vo2e|NN5fw?sY1ehFL_usS(e1ED8k%&d$e>vC5q^Q8Bi_xX+hN$AK7GWXSg$V^ zKDix+T}GE92I;qxItAR>?zj1pee+yrHcbr2v%(>eSFHW?Zi9 zHEqgELZiL3G#rk+bOfW!e0WknaMbTge$Q&2I*Le-ZK^2js?J|pC_M6aSlK2`af-!= zD3LgX0`ZT9(9Z@hDdv8!pAB{rQ__W6=dAz3&psD_VX9DkTjr)VEX2n};qY`|}FFX7^^E!ct zJUBpT+Q;ik4Pal*vM)nr?Oi!ex5w?tpjG^&E%CT0D;8{Efgb|xedx5F1@E?5^OE+{&-4+U+`)&4dFDtq#EK7t? z*b(Nywe5}CC@4_U)X_qr;DAZ{`f^d+K+5 z4!5|c(|JaB{vEH(UcwG5E!!0`63{;^UyE#3P|_p=V@c#GoNDFyd@fG_dqRx4RA3;e zUVA@h*!1>h36+3T4wQf-$Q2c4&6g`>o4u$s9Tys z=l7!1;yri|nZ+(^e#LdLNb%`PI^NGpva~i{vmnQT3^l3=t^ljOMrkNO@#+=6MAeR+B z(&~2kX}XDsIs|UgAKdsfgMs&-!Cr>u@Y~Z(&YGzqJvbnv^T0LPYJAw2&a_daIBe(jj_Rn7|DtAuiv2}bzPjQ7; z@MMZVcXE+m^?&6Yc5t|8K!570uQDA5J{Wk;(C@r#6#LEy#VvzXrHF4JToK+Kp^)(n zgddwKN)(0b%(90t&&8Z>s%YIggJP~URdfS?{M}U1Gv^Jm*Q&0l=|8&7lZ3_+QFTYV z>WX^cgHjY(s+pn@qV%X4)2^AKk&y7av{xlpY0_>)f4FE8zppe~c=Lop_Lu3H|BRv^ zq2PZsn-A|A;G%oNO>&MK>&ZTKw zK+;8nVwsEi*y4V8@qZSZnwyj34p5>LH_f=K*j-%gK@=b#*3qjq+QskZ$6P|+!P4*; zH(Fz)bKD;J3I?5K?mXr?`?SyV^mg{8kL_sRqr$YHqnO+FGS;3x{RyA1ne`c1KArU& z=IpzSTYrBliY{Jl9p}eH(SI03<(5l*eiEu*;BVvh&?UAf5vaJBt9sDO$Z+}iXNIXC zYxhH1ZiG$yVw%wCY<%7wo^KPZ$R~`S4!k|kOwnv9Z>dm3+?fdbux5(p2+I=TO|lu` z{LZ%}S|AXJc43kGKl+&86=>erT5J|d)73Y%*&(62Jrdn)?;i%mx;;3+$FLuD#TpT} zbDE-a^8&P+|88(aJ_58$l5p^zPjbew9Y$bSU`dvNRJb2-zR zw`<;*5(T1<#nA8ukq9%HK7!$MA2Sf zu9qgU#@$y9iuO5sx62EloC0Q+x`qv==1gTy{c8qAKGj@N(p5bbeO1a)v$>)V!LQ$3 z(TJ;xUL&Fh9c`N{T5`>xvYneFxa`Tz6`hl+UKgs7f#!-%Uqc(R>aC)BaVgdqb4@gc zD(Wx3`a~!zBC@~NT+vkF%@T?RT3*UAvALp0uA>zJS|h@rgaR~EgW3U9+-A7Dmg?$| z>g?t6WVn1(Bsm_8w3@3r_Rg`vJrwo9aMSO)L9y9Re*j&Ww;-Co__~Z>dR*(T(4MEj z^tl2~x5uUTD+3gi{O1N*Mfh!Vd(#)pcHS^3at2!An!;6a`a;{=Ek0 zO{<6LG~qQGUx2RgJ3ljS%HmEZ^_vUv*L9F5EQ8@n{Q0PyA(&y>bgh*MpeZy>Z3!BE^DBL(VH#;r2 zw}-yvT#P7(gxAM_qE~Vye9M)yKy!bXM z_Nsq?k?PH}K8Z+^_yDT>9gMMAG$kBka@RWs#UK(Wpn;jIb;b7e%^@KP|GxLXqto z{c1#cVOb(%!~Iy4)>34hg(BOTFfOf?uq+X>p)_=d9wHkc6xq(*t4cg5$K2HYdvzEO z%8Mn_Dxt`nNyI(psPOIxg=|Zhmc^IRo~b1ivhAU7XjH0#rvQAsTsb&yQM`1Mp)oqU zbS-=de0lipE+*aok3q4X6l{Qqmh(F-UH-8KF`cI943~#ih2sk4#D5HmcBZBI{IoLs zYP?BNWQGL)cdVcxnPl(KLeWks{gO}^T^Mff6(Tw#B7BUZ3fZT%P;_2cRxXI(duY5* z>QO}~G=8r&TB4^#glwX*qOh!75Fux9k$6w%S)-F=j<~;s3!}ZXo;}zL9;l#wvM&5a z7n5dzBR*Zv9=QZgh2R*mF8ubd20f+VIzjYQq2GM-`rIB|@o;OASr}AMdpOa6ha=I^M@XE_ zu|>k+TW>1vwbG$SiHfm8r9-o8=Lv6xP?#`RyLP^?ED=h^WPo3e_)TPogd*D_n^t*F zc-MtOwoI!$FDy$WD*wmO(#eA(DzsOkv{Tc#yV|Re+iReKj!jg^PA@`=yL}-yQV&yx z+7!`~Cln@rZ{uLKMA;&Ov&4_N!m@HfgrOFlWuC~E35CX=bW<)vshE`Ki_F5H_PQzm zG0~LVAVmT?D-?=0YVREpmL)>|{~hb?JT6KWe?9onU4A>jerpzCQf%*BUl!2;cHJZ} za-4mTMlh$?t&VVj)6x+%7(a{O2d|#`={!q6x0{5cCC$6eJR{PiC>#+tc6!p>X*fa~ zWH`H-L~${HVbMl+7?%p#{o^GD-h>^2wEQTa=BzDclAd(?iDyO&g}V>yNU%i1MTF*-NEjh3D;GqF z1dQ!j<+P9A5(;0wt#Pbe%D{VBL}p=Nybj}TQ7}I8Vhcq{V%K8BabHVC!=g-blxwNz1hhQSQjsZIVue0~T~(N) zc1uMW(P*89Efqa0!smqwsB23_rvcJkX0S*{35C(iwa2r{h{uPB%)-EE?eU3aVD$eO zg4%hk1x~zlp#cwT4_Q-&?mUAG%o5wmSe<1M$E$RfK^(3)HXCJNav6VLXfGMX@97-7 z&!o5!x9~8BhH&O8F($<&-o~-Qb2Q!<_?Ss=#K2^`v!$ZiVorUbs5`#5)vu+ZcEU>* zDzZq(F5T8~GsJL=ZK-GkG)7KtsVMP|7K}0+D_Sbr4FNaU52EE4q0lzo;07yoztvzD zM0iywKobmZu=)V~Z#Oq{`U6xT&dq+Lq?5fw8`yQ;`-9`v26p)pFml{7;?M?mrajgq z3}Sj15@x$tt8p|)8b_<)k&G8Z8(G8XSd-%N@8H%cCid+-p8OJvxgIMozi@8HnnaOk zk0Np3M)_#ceyPa`p>W7%-Ju#kARX#}$Se$EQ+KFd51^sB!Q%hc?XpQX*epo6!IDL= zMK{<17N83jh+w!lMTM0e7SDzEmA3~vMzgBd?QgmKq z7N%Iy6ApNe$I&YSij-i2qC+Jgx1cTmwHa*h^kleN=ceK*SH9$Y|1s@3tIvCh&T}|+ zbeI&I>P8at(-%l`z|eV)m?L0F#0aZWoE3)WInwk-kuGy0H_oKEOMm0aU#hbgU1R2w zIFqPc!lT-TmxV^>a=89uVC{aIAzekZP$UZ~R+? zHiO121vD+*0Vcq>K5e@rS{x)nc}0Q8VR)Z@B5K!4ECSN;WkL?DSm0sT=! zNB#@iP9Q#^fUeij-T#8VEszO90sUD+AAO{xtuq9&UMQd&G&HpsTI^SBA8`q>i8J7= zTrJb-w;ll$uVNF$&3RAg>Ray4Av$bgJv!?VxEs&&4x3m@Uwp)J_+b+ZSSmL_RBR9$ z?WWTv?sn9A)TB7?KZ>IJ&?RoWuO2Pg@Ffkz`uc7Q^To37p1#Y%k0W5=?nh0E^}C$D z)J&|h>Ej3l#-oo}c7Mz-?j>;=djg#v^O#i+jhC5J647p&%x?^ukDD<6+X#f76N$HL z&_XWZGo*ZZ9$Li7pOAEU(j?hD-jufyH?VjzrvrFIu$dXB;!TR1ue~#k)mM80n+KvW zyodE27w>$+q_|{o`p_B%Z2^el3c$;hA7gBolH1Eg2U%^{lP1L_s4xmj8@aM`d($zN zzVIX(z}~&OqK)F$140o@6C?QWBJ)X;9C_6heFJ!8*;b13RTv`{MmXxVQgk&a*eZf$ z5o8Cj-BY@moI;_tP-m+26h?29y;OwjgaULhf_QhnS$NxoLUyd=Z3=!R7B>*&eyTSw zkQDGyp+v}u^4bJ7z9K)M^Al}Wc$eq3r%b}Uw^<>QKSrv=o8GjUKkRktDUqP^d6VLjz=TCt*dkAPv}$O-|F?&nX=(CyK%$tluF_p*jS7R4 zelBlPEY3KIM)5O+G8Oc(#Hg^zZB6P_fjh*fVXt&BX?z95FpTL-1b7rg^JB2N^AG9Nu4WOV@?|03!rF! z2Dxw;H@-5KOz@*WmD1<#H0T&O1>s>7?I$L6Wm9-gi_B`J zDA^Xq%nZlCR*GIn&d51+6cq?R%dxADqEDEggI_Baeh&Xy_b%p7Yo#dO(0Y81Ut1}9 z^cj<4_Ow!z^o*$uIV%QS779aJX;Ce4!An9RYE5K^+8Y9|93tyo7DZ_Nvn>5L1xO)4 z(H}0XNTH&?IH)RBai-$)4g9I+%D4qfg@Vm`wq)}-iKeRtFPRip6*EaTl124QdZ8-z zPX^k6-w2$e&{qAcT8E+hNS^c$rN>s)Iv*7Zd*&$zekgruRg?IK($7>y-@tdK>IkZ- zP@oruJ~&Nxd))p^KYkA6%^b=Xg9lX8g-Bc>eDeAGYL7l^QruQp>ZT9452QVdvW~Y> zG)FQo7K*ZND19MFSPO(gv_+BrE%yXdH~xoV92Ij|A)@FnL6;M2kgIQn21og5|pbPYa!RLf!iMS}z7qBeeD}q6`$zgl}tAVgWMKkmTEKAf>AjriR zu-NcU!tE^-(pmR39DAF$1vOA8(9`ty{oWClC4%ADB;Y5&Mu@CHD6)MSraw&fjqp|o zg=}KU2anvIys`9Et`_k1ZJ7F2p4;alO3*F)nNW$)*ldj0)w-LMUkzOgDGX){tC?7D zC1Cii@Dc{-_kA^x;1y+Y0C91-!Q-m}(SAv&l)^VuMo74h3J-~vRRUZm6rL!K7PxV{ zNDd1{oj=phlYbMIB|_#BC)SpAL^X8nlb+X9?9%tmHt{6NAGZ2644))8S*`d4<^T&H zt`1Ian_Qm@S3>C^`(Y5c{%qPAhQVk{b#!qPgApBOCx$1O6qghM4i8Vq!#3_Ts8#|N zkt4v)&7upe>AeK3Md=xK=eVOYy69$&&qe7};Z9QFK+ZMLwsUgzQ(t9F1O4^d55A+r6Ubei1eo z3eb_TnD<^$^kWT^c+`p&*@HrXS*!FgTvd3Dg+lg|9)_=5Hdc8KHrj{2qG+_hz7h)f zxX@4PRjQJM_pUI1`15?2OuPX~mS&z;Q`bbA8|%!u;Rx?Ho--*LzZ5k;91T7KNq;si z3r9n)ea@t~0(%%g1X#&WYOgbZR)(W5RCyi^SOfry#uK2Q__=Qn2qG8OR+Jd2TV`2! zNV|=EUi?!a=1muhN?C2VOn4iFLMCna(eUhsHZ}yd(Xsw`2cU2 zhQHd~q$)MB*tQ;i(GITZ8#S$tuhZI1yV*@kYjTtxU>Ba@1m-_D;21lg=?egOQ|V&( znVkj==Oo^kyu^>dcOvac_qkkYbjr4MlR=NxLIyWJ&-|fnPIr@Bwe;NWrw?uTswc%2 zL>Bj-aP*%qYQgFIt~fQEDCwZL8iHjv|`kJ*&cwNY+jR2bo>FBtYJSa>l2OkLJ; zE~|fSlcJqm_zGrhs%=tSa&#E>tt&Zi**aKJg42gqGbgtW!k*$1%P{OPGnaxHHy

      iU5klcTO+er^A1s&4G7T>(#^gwFCVk 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 z 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