From 939f64549c69b81990322d0ef11033f855bf240f Mon Sep 17 00:00:00 2001 From: xpnas Date: Sat, 3 Apr 2021 23:26:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0BARK=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inotify.Vue/package.json | 1 + .../manager/settingpro/sendauths/index.vue | 44 ++- .../manager/settingpro/sendkey/index.vue | 23 +- .../manager/settingsys/systemglobal/index.vue | 11 + Inotify.Vue/vue.config.js | 5 +- Inotify/.editorconfig | 6 + Inotify/Common/Extensions.cs | 27 ++ Inotify/Controllers/BarkControlor.cs | 116 ++++---- Inotify/Controllers/BaseControlor.cs | 26 +- Inotify/Controllers/SendControlor.cs | 29 +- Inotify/Controllers/SettingControlor.cs | 11 +- Inotify/Controllers/SetttingSysControlor.cs | 11 +- Inotify/Data/DBManager.cs | 50 +++- Inotify/Data/DBMigrations.cs | 37 ++- Inotify/Data/Models/SendAuthInfo.cs | 21 +- Inotify/Inotify.csproj | 6 +- Inotify/Sends/Products/BarkSendTemplate.cs | 277 +++++++----------- Inotify/Sends/SendMessage.cs | 1 + Inotify/Sends/SendTaskManager.cs | 6 +- Inotify/Sends/SendTemplate.cs | 33 ++- Inotify/Startup.cs | 58 +++- Inotify/ThridOauth/Service/GitHubLogin.cs | 2 +- README.md | 43 ++- public/A.png | Bin 88092 -> 106112 bytes 24 files changed, 535 insertions(+), 309 deletions(-) diff --git a/Inotify.Vue/package.json b/Inotify.Vue/package.json index b54f4bd..fd22803 100644 --- a/Inotify.Vue/package.json +++ b/Inotify.Vue/package.json @@ -24,6 +24,7 @@ "normalize.css": "7.0.0", "nprogress": "0.2.0", "path-to-regexp": "2.4.0", + "qrcodejs": "^1.0.0", "vue": "2.6.10", "vue-router": "3.0.6", "vuex": "3.1.0" diff --git a/Inotify.Vue/src/views/manager/settingpro/sendauths/index.vue b/Inotify.Vue/src/views/manager/settingpro/sendauths/index.vue index d47e164..1feb746 100644 --- a/Inotify.Vue/src/views/manager/settingpro/sendauths/index.vue +++ b/Inotify.Vue/src/views/manager/settingpro/sendauths/index.vue @@ -12,7 +12,7 @@ - + @@ -71,6 +71,7 @@ import { getSendTemplates, addAuthInfo, deepClone, + getSendKey } from '@/api/setting' @@ -102,7 +103,7 @@ export default { isModify: false, authform: {}, title: "设置", - + sendKey: "" } }, created() { @@ -117,14 +118,23 @@ export default { }) getSendTemplates().then((response) => { if (response.code == 200) { - this.sendTemplates = response.data; } }) + getSendKey().then(response => { + if (response.code == 200) { + this.sendKey = response.data; + } + }) }, selectTemplateChange(selectTemplate) { - - this.selectTemplate = deepClone(selectTemplate); + this.selectTemplate = deepClone(selectTemplate) + if (this.selectTemplate.warning) { + this.$message({ + message: this.selectTemplate.warning, + type: 'warning' + }) + } }, submitForm(formName) { this.$refs[formName].validate((valid) => { @@ -181,8 +191,23 @@ export default { this.title = '修改设置' this.isModify = true; this.selectTemplate = deepClone(row); - this.dialogVisible = true; + if (this.selectTemplate.type == "Bark") { + let wPath = window.document.location.href; + let pathName = this.$route.path; + let pos = wPath.indexOf(pathName); + let localhostPath = wPath.substring(0, pos); + localhostPath = localhostPath.replace("#", ""); + var devieItem = this.selectTemplate.values.find(item => { + return item.name == "DeviceKey" + }) + var sendUrlItem = this.selectTemplate.values.find(item => { + return item.name == "SendUrl" + }); + sendUrlItem.value = localhostPath + "?act=" + this.sendKey + "/" + devieItem.value + "/{title}/{data}" + } + + this.dialogVisible = true; }, deleteAuth(index, row) { deleteAuthInfo(row.sendAuthId).then((response) => { @@ -213,24 +238,25 @@ export default { } } - diff --git a/Inotify.Vue/src/views/manager/settingpro/sendkey/index.vue b/Inotify.Vue/src/views/manager/settingpro/sendkey/index.vue index 2f54288..dbacf85 100644 --- a/Inotify.Vue/src/views/manager/settingpro/sendkey/index.vue +++ b/Inotify.Vue/src/views/manager/settingpro/sendkey/index.vue @@ -26,13 +26,23 @@ - + 重置SendKey + + BARK授权 + + + + + +
+
+
@@ -95,10 +105,15 @@ export default { let pos = wPath.indexOf(pathName); let localhostPath = wPath.substring(0, pos); localhostPath = localhostPath.replace("#", ""); - this.keyForm.sendUrlTitle = localhostPath + 'api/'+ this.keyForm.sendKey+'.send' + "/{title}" - this.keyForm.sendUrl = localhostPath + 'api/'+ this.keyForm.sendKey+'.send' + "/{title}/{data}" - // this.keyForm.sendUrl = localhostPath + 'api/send?token=' + this.keyForm.sendKey + "&title={title}&data={data}" + this.keyForm.sendUrlTitle = localhostPath + this.keyForm.sendKey + '.send' + "/{title}" + this.keyForm.sendUrl = localhostPath + this.keyForm.sendKey + '.send' + "/{title}/{data}" + this.keyForm.barkUrl = wPath.substring(0, pos - 2) + '?act=' + this.keyForm.sendKey this.listLoading = false; + new QRCode(document.getElementById("qrcode"), { + text: this.keyForm.barkUrl, + width: 150, + height: 150, + }); }); }, onMessage(fromname) { diff --git a/Inotify.Vue/src/views/manager/settingsys/systemglobal/index.vue b/Inotify.Vue/src/views/manager/settingsys/systemglobal/index.vue index b9d301e..d50bed3 100644 --- a/Inotify.Vue/src/views/manager/settingsys/systemglobal/index.vue +++ b/Inotify.Vue/src/views/manager/settingsys/systemglobal/index.vue @@ -36,6 +36,17 @@
+ + BARK授权 + + > + + + + + + + 确认修改 diff --git a/Inotify.Vue/vue.config.js b/Inotify.Vue/vue.config.js index 87fb662..20bef89 100644 --- a/Inotify.Vue/vue.config.js +++ b/Inotify.Vue/vue.config.js @@ -7,7 +7,7 @@ function resolve(dir) { } const name = defaultSettings.title || 'Inotify' -const port = process.env.port || process.env.npm_config_port || 9528 +const port = process.env.port || process.env.npm_config_port || 9000 const axiosV = require('axios/package.json').version const echartsV = require('echarts/package.json').version @@ -43,7 +43,8 @@ const cdn = { `https://cdn.bootcdn.net/ajax/libs/vue-router/${routerV}/vue-router.min.js`, `https://cdn.bootcdn.net/ajax/libs/element-ui/${elementV}/locale/zh-CN.js`, `https://cdn.bootcdn.net/ajax/libs/js-cookie/${cookieV}/js.cookie.min.js`, - `https://cdn.bootcdn.net/ajax/libs/nprogress/${nprogressV}/nprogress.min.js` + `https://cdn.bootcdn.net/ajax/libs/nprogress/${nprogressV}/nprogress.min.js`, + `https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.js` ] } diff --git a/Inotify/.editorconfig b/Inotify/.editorconfig index af9eccc..107674a 100644 --- a/Inotify/.editorconfig +++ b/Inotify/.editorconfig @@ -17,3 +17,9 @@ dotnet_diagnostic.CS8602.severity = none # CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。 dotnet_diagnostic.CS8600.severity = none + +# IDE0037: 使用推断的成员名称 +dotnet_diagnostic.IDE0037.severity = none + +# IDE0008: 使用显式类型 +dotnet_diagnostic.IDE0008.severity = none diff --git a/Inotify/Common/Extensions.cs b/Inotify/Common/Extensions.cs index 38273a6..5c9d4d4 100644 --- a/Inotify/Common/Extensions.cs +++ b/Inotify/Common/Extensions.cs @@ -9,6 +9,8 @@ namespace Inotify.Common { public static class Extensions { + static int rep = 0; + /// /// MD5加密字符串(32位大写) /// @@ -30,6 +32,7 @@ namespace Inotify.Common public static string Base64Encode(this string source) { + if (string.IsNullOrEmpty(source)) return ""; byte[] bytes = (Encoding.UTF8.GetBytes(source)); return Convert.ToBase64String(bytes); @@ -37,8 +40,32 @@ namespace Inotify.Common public static string Base64Decode(this string source) { + if (string.IsNullOrEmpty(source)) return ""; var bytes = Convert.FromBase64String(source); return System.Text.Encoding.Default.GetString(bytes); } + + public static string GenerateCheckCode(this int codeCount) + { + string str = string.Empty; + long num2 = DateTime.Now.Ticks + rep; + rep++; + Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> rep))); + for (int i = 0; i < codeCount; i++) + { + char ch; + int num = random.Next(); + if ((num % 2) == 0) + { + ch = (char)(0x30 + ((ushort)(num % 10))); + } + else + { + ch = (char)(0x41 + ((ushort)(num % 0x1a))); + } + str += ch.ToString(); + } + return str; + } } } diff --git a/Inotify/Controllers/BarkControlor.cs b/Inotify/Controllers/BarkControlor.cs index 7e710f6..b9df48b 100644 --- a/Inotify/Controllers/BarkControlor.cs +++ b/Inotify/Controllers/BarkControlor.cs @@ -1,4 +1,5 @@ -using Inotify.Data; +using Inotify.Common; +using Inotify.Data; using Inotify.Data.Models; using Inotify.Sends; using Inotify.Sends.Products; @@ -13,106 +14,115 @@ using System.Threading.Tasks; namespace Inotify.Controllers { - public class DeviceInfo - { - public string? Token { get; set; } - - public string? Key { get; set; } - - public string? DeviceToken { get; set; } - - public string? Device_key { get; set; } - - public string? Device_token { get; set; } - } - [ApiController] [Route("/")] public class BarkControlor : BaseControlor { [HttpGet, Route("Ping")] - public JsonResult Ping(string? token) + public JsonResult Ping() { - return OK(); + return Me("pong"); } [HttpGet, Route("Info")] - public JsonResult Info(string? token) + public JsonResult Info() { + var dateTime = System.IO.File.GetLastWriteTime(this.GetType().Assembly.Location); + var devices = DBManager.Instance.DBase.Query().Count(); return Json(new { - version = "v2", - build = "2021.03.29", + version = "v2.0.1", + build = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), arch = RuntimeInformation.OSDescription, - commit = "inotfy", - devices = RuntimeInformation.OSDescription + commit = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(), + devices }); - } [HttpGet, Route("Healthz")] - public string Healthz(string? token) + public string Healthz() { return "ok"; } + [HttpGet, Route("Register")] + public JsonResult Register(string? act, string? key, string? devicetoken, string? device_key) => !string.IsNullOrEmpty(device_key) ? + Register(device_key) : Register(act, key, devicetoken); + [HttpPost, Route("Register")] - public JsonResult Register(DeviceInfo deviceInfo) + public JsonResult Register(string? act, string? device_key, string? device_token) { - if (!string.IsNullOrEmpty(deviceInfo.Key)) - deviceInfo.Device_key = deviceInfo.Key; + if (string.IsNullOrEmpty(act)) + return Fail(400, "request bind failed : act is empty"); - if (!string.IsNullOrEmpty(deviceInfo.DeviceToken)) - deviceInfo.Device_token = deviceInfo.DeviceToken; + if (string.IsNullOrEmpty(device_token)) + return Fail(400, "request bind failed : device_token is empty"); - if (string.IsNullOrEmpty(deviceInfo.Device_key)) - return Fail(400, "request bind failed : device_key is empty"); - - if (string.IsNullOrEmpty(deviceInfo.Device_token)) - return Fail(400, "request bind failed : device_token not empty"); - - var userInfo = DBManager.Instance.DBase.Query().FirstOrDefault(e => e.Token == deviceInfo.Token); + var userInfo = DBManager.Instance.DBase.Query().FirstOrDefault(e => e.Token == act); if (userInfo == null) { - return Fail(400, "request bind failed : device not registered"); + return Fail(400, "request bind failed : act is not registered"); } else { - - var barkAuth = new BarkAuth() { DeviceToken = deviceInfo.Device_token }; + BarkAuth barkAuth = null; + SendAuthInfo barkSendAuthInfo = null; var barkTemplateAttribute = typeof(BarkSendTemplate).GetCustomAttributes(typeof(SendMethodKeyAttribute), false).OfType().First(); - var barkSendAuthInfo = DBManager.Instance.DBase.Query().FirstOrDefault(e => e.UserId == userInfo.Id && e.SendMethodTemplate == barkTemplateAttribute.Key); + + if (!string.IsNullOrEmpty(device_key)) + { + barkSendAuthInfo = DBManager.Instance.DBase.Query().FirstOrDefault(e => e.Key == device_key); + if (barkSendAuthInfo != null) + { + barkAuth = JsonConvert.DeserializeObject(barkSendAuthInfo.AuthData); + barkAuth.DeviceToken = device_token; + barkSendAuthInfo.AuthData = JsonConvert.SerializeObject(barkAuth); + barkSendAuthInfo.ModifyTime = DateTime.Now; + DBManager.Instance.DBase.Update(barkSendAuthInfo); + } + } + if (barkSendAuthInfo == null) { + device_key = 16.GenerateCheckCode(); + barkAuth = new BarkAuth() { DeviceKey = device_key, DeviceToken = device_token, IsArchive = "1", AutoMaticallyCopy = "1", Sound = "1107" }; barkSendAuthInfo = new SendAuthInfo() { Name = barkTemplateAttribute.Name, SendMethodTemplate = barkTemplateAttribute.Key, + Key = device_key, AuthData = JsonConvert.SerializeObject(barkAuth), UserId = userInfo.Id, CreateTime = DateTime.Now, - ModifyTime = DateTime.Now + ModifyTime = DateTime.Now, + Active = true, }; - - var sendAuthId = Convert.ToInt32(DBManager.Instance.DBase.Insert(barkSendAuthInfo)); - userInfo.SendAuthId = sendAuthId; - DBManager.Instance.DBase.Update(userInfo, e => e.SendAuthId); - } - else - { - barkSendAuthInfo.AuthData = JsonConvert.SerializeObject(barkAuth); - barkSendAuthInfo.ModifyTime = DateTime.Now; - DBManager.Instance.DBase.Update(barkSendAuthInfo); + DBManager.Instance.DBase.Insert(barkSendAuthInfo); } return Json(new { - key = deviceInfo.Device_key, - device_key = deviceInfo.Device_key, - device_token = deviceInfo.Device_token + key = device_key, + device_key = device_key, + device_token = device_token }); } } + + [HttpGet, Route("RegisterCheck")] + public JsonResult Register(string device_key) + { + if (string.IsNullOrEmpty(device_key)) + { + return Fail(400, "device key is empty"); + } + if (!DBManager.Instance.DBase.Query().Any(e => e.Key == device_key)) + { + return Fail(400, "device not registered"); + } + + return OK(); + } } } diff --git a/Inotify/Controllers/BaseControlor.cs b/Inotify/Controllers/BaseControlor.cs index ae99519..7463749 100644 --- a/Inotify/Controllers/BaseControlor.cs +++ b/Inotify/Controllers/BaseControlor.cs @@ -70,7 +70,7 @@ namespace Inotify.Controllers { code = 200, message = "sucess", - timestamp = (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds + timestamp = (int)(DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds }); } @@ -81,7 +81,17 @@ namespace Inotify.Controllers code = 200, message = "sucess", data = obj ?? "", - timestamp = (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds + timestamp = (int)(DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds + }); + } + + protected JsonResult Me(string message) + { + return Json(new + { + code = 200, + message = message, + timestamp = (int)(DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds }); } @@ -91,7 +101,7 @@ namespace Inotify.Controllers { code = 404, message = "failed", - timestamp = (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds + timestamp = (int)(DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds }); } @@ -99,9 +109,9 @@ namespace Inotify.Controllers { return Json(new { - code, + code= code, message = "failed", - timestamp = (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds + timestamp = (int)(DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds }); } @@ -109,9 +119,9 @@ namespace Inotify.Controllers { return new JsonResult(new { - code, - message, - timestamp = (DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds + code=code, + message=message, + timestamp = (int)(DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds }); } diff --git a/Inotify/Controllers/SendControlor.cs b/Inotify/Controllers/SendControlor.cs index 96c47fa..5464ccc 100644 --- a/Inotify/Controllers/SendControlor.cs +++ b/Inotify/Controllers/SendControlor.cs @@ -12,20 +12,39 @@ namespace Inotify.Controllers public class SendController : BaseControlor { [HttpGet, Route("send")] - public JsonResult Send(string token, string title, string? data) + public JsonResult Send(string token, string title, string? data, string? key) { - if (DBManager.Instance.IsSendKey(token)) + if (DBManager.Instance.IsToken(token, out bool hasActive)) { + if (!hasActive) return Fail(400, "you have no tunnel is acitve"); + + if (!string.IsNullOrEmpty(key)) + { + if (DBManager.Instance.IsSendKey(key, out bool isActive)) + { + if (!isActive) + { + return Fail(400, $"device:{key} tunnel is not acitve"); + } + } + else + { + return Fail(400, $"device:{key} is not registered"); + } + } + var message = new SendMessage() { Token = token, Title = title, Data = data, + Key = key, }; - if (SendTaskManager.Instance.SendMessage(message)) - return OK(); + + if (SendTaskManager.Instance.SendMessage(message)) return OK(); } - return Fail(); + + return Fail(400, $"token:{token} is not registered"); } } } diff --git a/Inotify/Controllers/SettingControlor.cs b/Inotify/Controllers/SettingControlor.cs index 54a5337..2cd1f18 100644 --- a/Inotify/Controllers/SettingControlor.cs +++ b/Inotify/Controllers/SettingControlor.cs @@ -39,6 +39,7 @@ namespace Inotify.Controllers var userInfo = DBManager.Instance.GetUser(UserName); if (userInfo != null) { + var barkTemplateAttribute = typeof(BarkSendTemplate).GetCustomAttributes(typeof(SendMethodKeyAttribute), false).OfType().First(); var sendAuthInfos = DBManager.Instance.DBase.Query().Where(e => e.UserId == userInfo.Id).ToArray(); var userSendTemplates = new List(); foreach (var sendAuthInfo in sendAuthInfos) @@ -53,6 +54,10 @@ namespace Inotify.Controllers sendTemplate.AuthToTemplate(sendAuthInfo.AuthData); userSendTemplates.Add(sendTemplate); } + if (barkTemplateAttribute.Key == sendTemplate.Key) + { + sendTemplate.Values.FirstOrDefault(e => e.Name == nameof(BarkSendTemplate.Auth.SendUrl)).Value = ""; + } } return OK(userSendTemplates); @@ -100,10 +105,9 @@ namespace Inotify.Controllers if (userInfo != null && inputTemeplate.Key != null && inputTemeplate.Name != null) { var barkKey = typeof(BarkSendTemplate).GetCustomAttributes(typeof(SendMethodKeyAttribute), false).OfType().First().Key; - if (barkKey == inputTemeplate.Key - && DBManager.Instance.DBase.Query().FirstOrDefault(e => e.UserId == userInfo.Id && e.SendMethodTemplate == barkKey) != null) + if (barkKey == inputTemeplate.Key) { - return Fail(406, "您只能添加一个BARK通道"); + return Fail(406, "BARK通道勿手动添加,请使用APP添加BARK地址绑定"); } else { @@ -131,6 +135,7 @@ namespace Inotify.Controllers var userInfo = DBManager.Instance.GetUser(UserName); if (userInfo != null) { + var barkTemplateAttribute = typeof(BarkSendTemplate).GetCustomAttributes(typeof(SendMethodKeyAttribute), false).OfType().First(); var oldSendInfo = DBManager.Instance.DBase.Query().FirstOrDefault(e => e.Id == inputTemeplate.SendAuthId); if (oldSendInfo != null && inputTemeplate.Name != null) { diff --git a/Inotify/Controllers/SetttingSysControlor.cs b/Inotify/Controllers/SetttingSysControlor.cs index 1490aef..9a6d861 100644 --- a/Inotify/Controllers/SetttingSysControlor.cs +++ b/Inotify/Controllers/SetttingSysControlor.cs @@ -30,6 +30,9 @@ namespace Inotify.Controllers githubClientID = SendCacheStore.GetSystemValue("githubClientID"), githubClientSecret = SendCacheStore.GetSystemValue("githubClientSecret"), githubEnable = githubEnable != "" && bool.Parse(githubEnable), + barkKeyId= SendCacheStore.GetSystemValue("barkKeyId"), + barkTeamId = SendCacheStore.GetSystemValue("barkTeamId"), + barkPrivateKey = SendCacheStore.GetSystemValue("barkPrivateKey"), }); } @@ -41,7 +44,10 @@ namespace Inotify.Controllers string? proxyenable, string? githubClientID, string? githubClientSecret, - string? githubEnable) + string? githubEnable, + string? barkKeyId, + string? barkTeamId, + string? barkPrivateKey) { SendCacheStore.SetSystemValue("sendthread", sendthread); SendCacheStore.SetSystemValue("administrators", administrators); @@ -50,6 +56,9 @@ namespace Inotify.Controllers SendCacheStore.SetSystemValue("githubClientID", githubClientID); SendCacheStore.SetSystemValue("githubClientSecret", githubClientSecret); SendCacheStore.SetSystemValue("githubEnable", githubEnable); + SendCacheStore.SetSystemValue("barkKeyId", barkKeyId); + SendCacheStore.SetSystemValue("barkTeamId", barkTeamId); + SendCacheStore.SetSystemValue("barkPrivateKey", barkPrivateKey); SendTaskManager.Instance.Stop(); SendTaskManager.Instance.Run(); diff --git a/Inotify/Data/DBManager.cs b/Inotify/Data/DBManager.cs index b24be20..11a83dc 100644 --- a/Inotify/Data/DBManager.cs +++ b/Inotify/Data/DBManager.cs @@ -105,16 +105,38 @@ namespace Inotify.Data m_dbConnection = new SqliteConnection(string.Format("Data Source={0}", m_dbPath)); + if (m_dbConnection.State == ConnectionState.Closed) m_dbConnection.Open(); - DBase = new NPoco.Database(m_dbConnection, DatabaseType.SQLite); + DBase = new Database(m_dbConnection, DatabaseType.SQLite); + DBase.KeepConnectionAlive = true; m_migrator = new Migrator(DBase); } - public bool IsSendKey(string token) + public bool IsToken(string token,out bool hasActive) { - return DBase.Query().Any(e => e.Token == token); + hasActive = false; + var userInfo= DBase.Query().FirstOrDefault(e => e.Token == token); + if (userInfo != null) + { + hasActive= DBase.Query().Any(e => e.UserId== userInfo.Id && e.Active); + return true; + } + + return false; + } + + public bool IsSendKey(string key, out bool isActive) + { + isActive = false; + var sendAuthInfo = DBase.Query().FirstOrDefault(e => e.Key == key); + if (sendAuthInfo != null) + { + isActive = sendAuthInfo.Active; + return true; + } + return false; } public bool IsUser(string userName) @@ -124,10 +146,10 @@ namespace Inotify.Data public SendUserInfo GetUser(string userName) { - return DBase.Query().First(e => e.UserName == userName); + return DBase.Query().FirstOrDefault(e => e.UserName == userName); } - public string GetAuth(string token, out string guid) + public string GetSendAuthInfo(string token, out string guid) { guid = string.Empty; var upToekn = token.ToUpper(); @@ -142,18 +164,25 @@ namespace Inotify.Data return authInfo.AuthData; } - public void GetAuth(string token, out SendAuthInfo[] sendAuthInfos) + public void GetSendAuthInfos(string token, string key, out SendAuthInfo[] sendAuthInfos) { sendAuthInfos = null; var upToekn = token.ToUpper(); var userInfo = DBManager.Instance.DBase.Query().FirstOrDefault(e => e.Token == upToekn && e.Active); if (userInfo != null) - - sendAuthInfos = DBManager.Instance.DBase.Query().Where(e => e.UserId == userInfo.Id && e.Active).ToArray(); + { + if (string.IsNullOrEmpty(key)) + { + sendAuthInfos = DBManager.Instance.DBase.Query().Where(e => e.UserId == userInfo.Id && e.Active).ToArray(); + } + else + { + sendAuthInfos = DBManager.Instance.DBase.Query().Where(e => e.UserId == userInfo.Id && e.Active &&e.Key==key).ToArray(); + } + } } - public void Run() { @@ -175,10 +204,9 @@ namespace Inotify.Data var builder = new MigrationBuilder(MigrationName, DBase); builder.Append(new Version(2, 0, 0, 0), new V2UpdateMigration()); + builder.Append(new Version(2, 0, 0, 1), new V2001UpdateMigration()); builder.Execute(); } } } - - } diff --git a/Inotify/Data/DBMigrations.cs b/Inotify/Data/DBMigrations.cs index 7c8ccb2..a1c4bf1 100644 --- a/Inotify/Data/DBMigrations.cs +++ b/Inotify/Data/DBMigrations.cs @@ -59,8 +59,7 @@ namespace Inotify.Data { protected override void execute() { - //V2版本允许多通道,激活标记放入SendAuthInfo表中,增加Active列 - //更新原有用户的激活通道 + //V2版本允许多通道,激活标记放入SendAuthInfo表中,增加Active列,同时更新原有用户的激活通道 Migrator.AlterTable().AddColumn(e => e.Active).Execute(); Migrator.Database.UpdateMany().OnlyFields(e => e.Active).Execute(new SendAuthInfo() { Active = false }); var activeUsers = Migrator.Database.Query().ToList(); @@ -75,4 +74,38 @@ namespace Inotify.Data }); } } + + public class V2001UpdateMigration : Migration, IMigration + { + protected override void execute() + { + //V2001版本增加SendInfo的key字段 + Migrator.AlterTable().AddColumn(e => e.Key).Execute(); + + //对AuthInfo的AuthDate字段进行加密 + var sendAuthInfos = Migrator.Database.Query().ToList(); + sendAuthInfos.ForEach(sendAuthInfo => + { + sendAuthInfo.AuthData = sendAuthInfo.AuthDataSave; + Migrator.Database.Update(sendAuthInfo); + }); + + //添加bark密钥相关内容 + Migrator.Database.Insert(new SystemInfo() + { + key = "barkKeyId", + Value = "TEg0VDlWNVU0Ug==".Base64Decode(), + }); + Migrator.Database.Insert(new SystemInfo() + { + key = "barkTeamId", + Value = "NVU4TEJSWEczQQ==".Base64Decode(), + }); + Migrator.Database.Insert(new SystemInfo() + { + key = "barkPrivateKey", + Value = "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JR1RBZ0VBTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEJIa3dkd0lCQVFRZzR2dEMzZzVMNUhnS0dKMitUMWVBMHRPaXZSRXZFQVkyZytqdVJYSmtZTDJnQ2dZSUtvWkl6ajBEQVFlaFJBTkNBQVNtT3MzSmtTeW9HRVdac1VHeEZzLzRwdzFySWxTVjJJQzE5TTh1M0c1a3EzNnVwT3d5RldqOUdpM0VqYzlkM3NDNytTSFJxWHJFQUpvdzgvN3RScFYrCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=".Base64Decode() + }); + } + } } diff --git a/Inotify/Data/Models/SendAuthInfo.cs b/Inotify/Data/Models/SendAuthInfo.cs index 14b7287..13dcd0a 100644 --- a/Inotify/Data/Models/SendAuthInfo.cs +++ b/Inotify/Data/Models/SendAuthInfo.cs @@ -1,5 +1,5 @@ using System; - +using Inotify.Common; namespace Inotify.Data.Models { [NPoco.TableName("sendAuthInfo")] @@ -19,7 +19,20 @@ namespace Inotify.Data.Models public string SendMethodTemplate { get; set; } [NPoco.Column("authData")] - public string AuthData { get; set; } + public string AuthDataSave { get; set; } + + [NPoco.Ignore] + public string AuthData + { + get + { + return AuthDataSave.Base64Decode(); + } + set + { + AuthDataSave = value.Base64Encode(); + } + } [NPoco.Column("modifyTime")] public DateTime ModifyTime { get; set; } @@ -29,5 +42,9 @@ namespace Inotify.Data.Models [NPoco.Column("active")] public bool Active { get; set; } + + [NPoco.Column("key")] + public string Key { get; set; } + } } diff --git a/Inotify/Inotify.csproj b/Inotify/Inotify.csproj index 2a5fbb5..77c8727 100644 --- a/Inotify/Inotify.csproj +++ b/Inotify/Inotify.csproj @@ -6,8 +6,8 @@ Linux Inotify.Program enable - 2.0.0.0 - 2.0.0.0 + 2.0.0.1 + 2.0.0.1 @@ -31,7 +31,7 @@ - PreserveNewest + Always diff --git a/Inotify/Sends/Products/BarkSendTemplate.cs b/Inotify/Sends/Products/BarkSendTemplate.cs index 5bef0da..516341b 100644 --- a/Inotify/Sends/Products/BarkSendTemplate.cs +++ b/Inotify/Sends/Products/BarkSendTemplate.cs @@ -1,9 +1,11 @@ using Inotify.Common; using Inotify.Data; +using Microsoft.IdentityModel.Tokens; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; +using System.IdentityModel.Tokens.Jwt; using System.IO; using System.Linq; using System.Net.Http; @@ -16,166 +18,78 @@ using System.Threading.Tasks; namespace Inotify.Sends.Products { - public class BarkMessage - { - public BarkMessage(string body) : this(string.Empty, body) { } - public BarkMessage(string title, string body) - { - this.Title = title; - this.Body = body; - } - - #region 公共属性 - /// - /// 标题,加粗 - /// - public string Title { get; set; } = string.Empty; - /// - /// 正文 - /// - public string Body { get; set; } = string.Empty; - /// - /// 自动保存 - /// - public string IsArchive { get; set; } = "1"; - /// - /// 链接 - /// - public string Url { get; set; } = string.Empty; - /// - /// 自动复制 - /// - public string AutoMaticallyCopy { get; set; } = "0"; - /// - /// 复制文本 - /// - public string Copy { get; set; } = string.Empty; - #endregion - - #region 公共方法 - /// - /// 设置链接 - /// - /// - /// - public BarkMessage SetUrl(string url) - { - this.Url = url; - return this; - } - /// - /// 设置保存,默认保存 - /// - /// - public BarkMessage SetArchive() - { - IsArchive = "1"; - return this; - } - /// - /// 设置不保存,默认保存 - /// - /// - public BarkMessage SetNotArchive() - { - IsArchive = "0"; - return this; - } - /// - /// 设置自动复制,默认不自动复制 - /// - /// - public BarkMessage SetAutoCopy() - { - this.AutoMaticallyCopy = "1"; - return this; - } - /// - /// 设置不自动复制,默认不自动复制 - /// - /// - public BarkMessage SetNotAutoCopy() - { - this.AutoMaticallyCopy = "1"; - return this; - } - /// - /// 设置自动拷贝的文本,默认拷贝全文 - /// - /// - /// - public BarkMessage SetCopyText(string text) - { - Copy = text; - return this; - } - #endregion - } - public class BarkAuth { + [InputTypeAttribte(1, "Sound", "声音", "1107")] + public string Sound { get; set; } - [InputTypeAttribte(0, "IsArchive", "自动保存", "1")] + [InputTypeAttribte(2, "IsArchive", "自动保存", "1或0")] public string IsArchive { get; set; } - [InputTypeAttribte(0, "AutoMaticallyCopy", "自动复制", "0")] + [InputTypeAttribte(3, "AutoMaticallyCopy", "自动复制", "1或0")] public string AutoMaticallyCopy { get; set; } - [InputTypeAttribte(0, "DeviceToken", "DeviceToken", "DeviceToken",false)] + [InputTypeAttribte(4, "DeviceKey", "DeviceKey", "DeviceKey", true, true)] + public string DeviceKey { get; set; } + + [InputTypeAttribte(5, "DeviceToken", "DeviceToken", "DeviceToken", true, true)] public string DeviceToken { get; set; } + [InputTypeAttribte(6, "SendUrl", "SendUrl", "SendUrl", true, true)] + public string SendUrl { get; set; } + + } - [SendMethodKey("3B6DE04D-A9EF-4C91-A151-60B7425C5AB2", "Bark(未完成)", Order = -1)] + [SendMethodKey("3B6DE04D-A9EF-4C91-A151-60B7425C5AB2", "Bark", Order = 6, Waring = "BARK通道勿手动添加,请使用APP添加BARK地址绑定")] public class BarkSendTemplate : SendTemplate { - private static readonly string Topic = "me.fin.bark"; - private static readonly string KeyID = "LH4T9V5U4R"; - private static readonly string TeamID = "5U8LBRXG3A"; + private static string KeyID; + + private static string TeamID; + private static CngKey SecretKey; - + public override BarkAuth Auth { get; set; } public override bool SendMessage(SendMessage message) - { - var barkMessage = new BarkMessage(message.Title, message.Data) - { - IsArchive = Auth.IsArchive, - AutoMaticallyCopy = Auth.AutoMaticallyCopy - }; - SendMesssage(barkMessage, Auth.DeviceToken); - - return false; - } - - private bool SendMesssage(BarkMessage barkMessage, string device_Tokne) { if (SecretKey == null) { - var authPath = Path.Combine(DBManager.Instance.Inotify_Data, "AuthKey_LH4T9V5U4R_5U8LBRXG3A.p8"); - var privateKeyContent = File.ReadAllText(authPath).Split('\n')[1]; - SecretKey = CngKey.Import(Convert.FromBase64String(privateKeyContent), CngKeyBlobFormat.Pkcs8PrivateBlob); + KeyID = SendCacheStore.GetSystemValue("barkKeyId"); + TeamID = SendCacheStore.GetSystemValue("barkTeamId"); + var privateKey = SendCacheStore.GetSystemValue("barkPrivateKey"); + var privateKeyContent = privateKey.Split('\n')[1]; + var decodeKey = Convert.FromBase64String(privateKeyContent); + SecretKey = CngKey.Import(decodeKey, CngKeyBlobFormat.Pkcs8PrivateBlob); } - if (barkMessage == null) + if (Auth.DeviceToken == null) return false; - if (device_Tokne == null) - return false; + var payload = CreatePayload(message); + var accessToken = CreateAccessToken(payload); + var result = CreatePush(payload, accessToken, Auth.DeviceToken); + return result; + + } + + private string CreatePayload(SendMessage message) + { var expiration = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); var expirationSeconds = (long)expiration.TotalSeconds; var alert = new Dictionary(); - if (!string.IsNullOrEmpty(barkMessage.Body)) - alert.Add("body", barkMessage.Body); - if (!string.IsNullOrEmpty(barkMessage.Title)) - alert.Add("title", barkMessage.Title); + if (!string.IsNullOrEmpty(message.Data)) + alert.Add("body", message.Data); + if (!string.IsNullOrEmpty(message.Title)) + alert.Add("title", message.Title); var aps = new Dictionary { { "category", "Bark" }, - { "sound", "1107" }, + { "sound", Auth.Sound }, { "badge", "0" }, { "mutable-content", "1" }, { "alert", alert } @@ -184,65 +98,88 @@ namespace Inotify.Sends.Products var payload = new Dictionary { { "aps", aps }, - { "isarchive", barkMessage.IsArchive }, - { "automaticallycopy", barkMessage.AutoMaticallyCopy }, + { "isarchive", Auth.IsArchive }, + { "automaticallycopy", Auth.AutoMaticallyCopy }, { "iss", TeamID}, { "iat", expirationSeconds} }; - if (!string.IsNullOrEmpty(barkMessage.Url)) - payload.Add("url", barkMessage.Url); + if (!string.IsNullOrEmpty(message.Title)) + payload.Add("copy", message.Title); - if (!string.IsNullOrEmpty(barkMessage.Copy)) - payload.Add("copy", barkMessage.Copy); - - var headers = new - { - alg = "ES256", - kid = KeyID - }; - - var hearderString = JObject.FromObject(headers).ToString(); var payloadString = JObject.FromObject(payload).ToString(); - var accessToken = SignES256(SecretKey, hearderString, payloadString); - var data = Encoding.UTF8.GetBytes(payloadString); - var httpClient = new HttpClient(); - var requestMessage = new HttpRequestMessage - { - RequestUri = new Uri(string.Format("https://{0}:{1}/3/device/{2}", "api.development.push.apple.com", 443, device_Tokne)) - }; - requestMessage.Headers.Add("authorization", string.Format("bearer {0}", accessToken)); - requestMessage.Headers.Add("apns-id", Guid.NewGuid().ToString()); - requestMessage.Headers.Add("apns-expiration", "0"); - requestMessage.Headers.Add("apns-priority", "10"); - requestMessage.Headers.Add("apns-topic", Topic); - requestMessage.Method = HttpMethod.Post; - requestMessage.Content = new ByteArrayContent(data); - - var task = httpClient.SendAsync(requestMessage); - task.Wait(); - var responseMessage = task.Result; - if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK) - { - - return true; - } - - return true; + return payloadString; } - - private string SignES256(CngKey secretKey, string header, string payload) + private string CreateAccessToken(string payload) { - using ECDsaCng dsa = new ECDsaCng(secretKey) + using ECDsaCng dsa = new ECDsaCng(SecretKey) { HashAlgorithm = CngAlgorithm.Sha256 }; - var unsignedJwtData = Convert.ToBase64String(Encoding.UTF8.GetBytes(header)) + "." + Convert.ToBase64String(Encoding.UTF8.GetBytes(payload)); + var headers = JObject.FromObject(new + { + alg = "ES256", + kid = KeyID + }).ToString(); + + var unsignedJwtData = Convert.ToBase64String(Encoding.UTF8.GetBytes(headers)) + "." + Convert.ToBase64String(Encoding.UTF8.GetBytes(payload)); var signature = dsa.SignData(Encoding.UTF8.GetBytes(unsignedJwtData)); return unsignedJwtData + "." + Convert.ToBase64String(signature); } + + private bool CreatePush(string payload, string accessToken, string device_Tokne) + { + try + { + var data = Encoding.UTF8.GetBytes(payload); + var request = new HttpRequestMessage + { + Version = new Version(2, 0), + RequestUri = new Uri($"https://api.development.push.apple.com:443/3/device/{device_Tokne}") + }; + request.Headers.Add("authorization", string.Format("bearer {0}", accessToken)); + request.Headers.Add("apns-id", Guid.NewGuid().ToString()); + request.Headers.Add("apns-expiration", "0"); + request.Headers.Add("apns-priority", "10"); + request.Headers.Add("apns-topic", "me.fin.bark"); + request.Method = HttpMethod.Post; + request.Content = new ByteArrayContent(data); + + var httpClient = new HttpClient(); + httpClient.DefaultRequestHeaders.Connection.Add("Keep-Alive"); + + var task = httpClient.SendAsync(request); + task.Wait(); + var responseMessage = task.Result; + if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK) + { + var _response_uuid = ""; + if (responseMessage.Headers.TryGetValues("apns-id", out IEnumerable values)) + { + _response_uuid = values.First(); + Console.WriteLine($"success: '{_response_uuid}'"); + return true; + } + else + return false; + } + else + { + var respoinseBody = responseMessage.Content.ReadAsStringAsync().Result; + var responseJson = JObject.Parse(respoinseBody); + var reason = responseJson.Value("reason"); + Console.WriteLine($"failure: '{reason}'"); + } + } + catch (Exception ex) + { + Console.WriteLine($"exception: '{ex.Message}'"); + } + + return false; + } } } diff --git a/Inotify/Sends/SendMessage.cs b/Inotify/Sends/SendMessage.cs index 7667e67..c943b47 100644 --- a/Inotify/Sends/SendMessage.cs +++ b/Inotify/Sends/SendMessage.cs @@ -9,5 +9,6 @@ namespace Inotify.Sends public string Token; public string Title; public string? Data; + public string? Key; } } diff --git a/Inotify/Sends/SendTaskManager.cs b/Inotify/Sends/SendTaskManager.cs index ecf2674..b4c1160 100644 --- a/Inotify/Sends/SendTaskManager.cs +++ b/Inotify/Sends/SendTaskManager.cs @@ -37,7 +37,6 @@ namespace Inotify.Sends private readonly Dictionary m_sendMethodTemplateTypes; - private SendTaskManager() { m_sendMessages = new BlockingCollection(); @@ -70,7 +69,6 @@ namespace Inotify.Sends m_analyseThread.Start(); } - public EventHandler OnMessageAdd; public EventHandler OnSendSucessed; @@ -152,7 +150,7 @@ namespace Inotify.Sends try { var message = m_sendMessages.Take(); - DBManager.Instance.GetAuth(message.Token, out SendAuthInfo[] sendAuthInfos); + DBManager.Instance.GetSendAuthInfos(message.Token, message.Key, out SendAuthInfo[] sendAuthInfos); foreach (var authInfo in sendAuthInfos) { var authData = authInfo.AuthData; @@ -212,7 +210,7 @@ namespace Inotify.Sends { var message = m_analyseMessages.Take(); var date = DateTime.Now.ToString("yyyyMMdd"); - var authData = DBManager.Instance.GetAuth(message.Token, out string temeplateId); + var authData = DBManager.Instance.GetSendAuthInfo(message.Token, out string temeplateId); if (temeplateId != null) { diff --git a/Inotify/Sends/SendTemplate.cs b/Inotify/Sends/SendTemplate.cs index 2de60ac..2e5f041 100644 --- a/Inotify/Sends/SendTemplate.cs +++ b/Inotify/Sends/SendTemplate.cs @@ -31,16 +31,25 @@ namespace Inotify.Sends public int Order; - public SendMethodKeyAttribute(string key, string name, bool open = true) + public string Waring; + + public SendMethodKeyAttribute(string key, string name, bool open = true, string waring = "") { Key = key; Name = name; Open = open; + Waring = waring; } } public class InputTypeValue { + + public InputTypeValue() + { + Show = true; + Readonly = false; + } public string? Name { get; set; } public string? Description { get; set; } public string? Default { get; set; } @@ -48,7 +57,11 @@ namespace Inotify.Sends public int? Order { get; set; } public string? Value { get; set; } - public bool Visuable { get; set; } + public string? Warning { get; set; } + + public bool Show { get; set; } + + public bool Readonly { get; set; } } public class InputTemeplate @@ -57,6 +70,7 @@ namespace Inotify.Sends public string? Type { get; set; } public string? Name { get; set; } public bool IsActive { get; set; } + public string Warning { get; set; } public string? AuthData { get; set; } public int? SendAuthId { get; set; } public List? Values { get; set; } @@ -112,7 +126,7 @@ namespace Inotify.Sends public InputTypeValue InputTypeData { get; set; } - private InputTypeAttribte(int order, string name, string description, string defaultValue, InputType type,bool visuable=true) + private InputTypeAttribte(int order, string name, string description, string defaultValue, InputType type,bool show=true,bool readOnly=false) { InputTypeData = new InputTypeValue { @@ -121,18 +135,19 @@ namespace Inotify.Sends Default = defaultValue, Order = order, Type = type, - Visuable=visuable + Show = show, + Readonly = readOnly }; } - public InputTypeAttribte(int order, string name, string description, string defaultValue, bool visuable = true) - : this(order, name, description, defaultValue, InputType.TEXT, visuable) + public InputTypeAttribte(int order, string name, string description, string defaultValue, bool show = true, bool readOnly = false) + : this(order, name, description, defaultValue, InputType.TEXT, show, readOnly) { } - public InputTypeAttribte(int order, string name, string description, bool defaultValue, bool visuable = true) - : this(order, name, description, "", InputType.CHECK, visuable) + public InputTypeAttribte(int order, string name, string description, bool defaultValue, bool show = true, bool readOnly = false) + : this(order, name, description, "", InputType.CHECK, show, readOnly) { InputTypeData.Default = defaultValue ? "是" : "否"; } @@ -156,7 +171,6 @@ namespace Inotify.Sends .SelectMany(e => e.GetCustomAttributes(typeof(InputTypeAttribte), false)) .Cast() .Select(e => e.InputTypeData) - .Where(e=>e.Visuable) .ToList(); var sendMethodKeyAttribute = this.GetType().GetCustomAttribute(); @@ -168,6 +182,7 @@ namespace Inotify.Sends Name = sendMethodKeyAttribute.Name, Type = sendMethodKeyAttribute.Name, Key = sendMethodKeyAttribute.Key, + Warning = sendMethodKeyAttribute.Waring, Values = values }; } diff --git a/Inotify/Startup.cs b/Inotify/Startup.cs index 9bf93a6..ad8a90d 100644 --- a/Inotify/Startup.cs +++ b/Inotify/Startup.cs @@ -20,6 +20,7 @@ using System.Net.Http; using System.Runtime.InteropServices; using System.Text; using System.Text.Encodings.Web; +using System.Text.RegularExpressions; using System.Text.Unicode; using System.Threading.Tasks; @@ -96,26 +97,63 @@ namespace Inotify public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { - - app.UseStaticFiles(); - app.UseFileServer(); - if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } var options = new RewriteOptions(); - options.AddRewrite(@"api/(.*).send/(.*)/(.*)", "api/send?token=$1&title=$2&data=$3", true); - options.AddRewrite(@"api/(.*).send/(.*)", "api/send?token=$1&title=$2", true); - options.AddRewrite(@"\?act=(.*)/{.*}/(.*)/(.*)", "api/send?token=$1&title=$3&data=$4", true); - options.AddRewrite(@"\?act=(.*)/{.*}/(.*)", "api/send?token=$1&title=$3", true); + options.Add(rewriteContext => + { + Match match; + if (rewriteContext.HttpContext.Request.Path == "/") + { + var queryValue = rewriteContext.HttpContext.Request.QueryString.Value; + match = Regex.Match(queryValue, @"^\?act=(.*)/(.*)/(.*)/(.*)$"); + var groups = match.Groups; + if (match.Success) + { + rewriteContext.HttpContext.Request.Path = @"/api/send"; + rewriteContext.HttpContext.Request.QueryString = new QueryString($"?token={groups[1]}&key={groups[2]}&title={groups[3]}&date={groups[4]}"); + } + else + { + match = Regex.Match(queryValue, @"^\?act=(.*)/(.*)/(.*)$"); + if (match.Success) + { + rewriteContext.HttpContext.Request.Path = @"/api/send"; + rewriteContext.HttpContext.Request.QueryString = new QueryString($"?token={groups[1]}&key={groups[2]}&title={groups[3]}"); + } + else + { + match = Regex.Match(queryValue, @"^\?act=(.*)/(.*)$"); + if (match.Success) + { + rewriteContext.HttpContext.Request.Path = @"/api/send"; + rewriteContext.HttpContext.Request.QueryString = new QueryString($"?token={groups[1]}&key={groups[2]}"); + } + else if(rewriteContext.HttpContext.Request.QueryString.Value.StartsWith("?")) + { + rewriteContext.HttpContext.Request.Path = @"/info"; + rewriteContext.HttpContext.Request.QueryString = new QueryString(); + } + } + } + } + rewriteContext.Result = RuleResult.ContinueRules; + }); - //https://im.xpnas.com/?act=123456/ZtCLMPWQWtjJQpKmQS6hoV/ - + options.AddRewrite(@"^(.*).send/(.*)/(.*)", "api/send?token=$1&title=$2&data=$3", true); + options.AddRewrite(@"^(.*).send/(.*)", "api/send?token=$1&title=$2", true); + options.AddRewrite(@"^api/(.*).send/(.*)/(.*)", "api/send?token=$1&title=$2&data=$3", true); + options.AddRewrite(@"^api/(.*).send/(.*)", "api/send?token=$1&title=$2", true); app.UseRewriter(options); app.UseRouting(); + + app.UseStaticFiles(); + app.UseFileServer(); + app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => diff --git a/Inotify/ThridOauth/Service/GitHubLogin.cs b/Inotify/ThridOauth/Service/GitHubLogin.cs index afefbb0..f8080bc 100644 --- a/Inotify/ThridOauth/Service/GitHubLogin.cs +++ b/Inotify/ThridOauth/Service/GitHubLogin.cs @@ -26,7 +26,7 @@ namespace Inotify.ThridOauth.Service private readonly string _authorizeUrl; - public GitHubLogin(IHttpContextAccessor contextAccessor, IOptions options) : base( + public GitHubLogin(IHttpContextAccessor contextAccessor) : base( contextAccessor) { Credential = new CredentialSetting() diff --git a/README.md b/README.md index b23a072..7daedf3 100644 --- a/README.md +++ b/README.md @@ -22,30 +22,49 @@ - [x] 企业微信应用消息 - [x] 电报机器人消息 - [x] SMTP邮箱消息 +- [x] BARK - [ ] 钉钉群机器人 - [ ] 飞书群机器人 - [x] 自定义 -## 使用方法 - 1. Docker安装 - ``` - docker run --name=inotify -d -p 8000:80 -v inotify_data:/inotify_data --restart=always xpnas/inotify:latest - ``` +## 更新日志 + * V1.0 + * 支持企业微信应用、电报、SMTP消息 + * V2.0.0.1 + * 支持自定义Get、POST + * V2.0.0.2 + * 支持BARK + +## 使用方法 + 1. Docker安装 + * 稳定版V1.0 + ``` + docker run --name=inotify -d -p 8000:80 -v inotify_data:/inotify_data --restart=always xpnas/inotify:latest + ``` + * 开发版V2.0.0.2 + ``` + docker run --name=inotify -d -p 8000:80 -v inotify_data:/inotify_data --restart=always xpnas/inotify:master + ``` 2. 配置Nginx代理 - ``` - server - { - location / { proxy_pass http://127.0.0.1:8000; } - } - ``` - + ``` + server + { + location / { proxy_pass http://127.0.0.1:8000; } + } + ``` + 3. 进入`Github/Settings/Developer settings/OAuth Apps`创建应用 * 记录`Client ID`,创建`Client secrets` * `Authorization callback URL`回调地址填写https://{您的域名}/api/oauth/githubLogin 4. 使用`默认用户名admin,密码123456`登陆后台/全局参数,修改Github登陆的`应用ID`、`应用密钥`并启动登陆 5. 建议将`管理权限`的用户名设置成自己的github用户名,再使用Github登陆后,在用户管理页面`删除默认账号admin` +## BARK设置 + 1. 本项目依据Bark-Server接口规范实现了内置BARK服务端 + 2. 复制或扫码`消息验证\BARK授权`中的地址,填入BARK应用的服务器地址中,如`https://inotify.cf?act=6D474C0DB1474F19BD8F7342D570C0FC` + 3. BARK的APP会自动在本系统注册数据,记录将直接出现在`消息通道` + ## 系统截图 ![](../master/public/A.png) diff --git a/public/A.png b/public/A.png index 623052eb49ff059942fafd257d2c06c76d253d1d..ad336ecd8c36e640e5e7e00e65ef5c47f2450012 100644 GIT binary patch literal 106112 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 literal 88092 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

    Pv_M6yDDm zju<}twMm0Px^$c68rFC0R+a8Hp9whJiqp;un7x|@!mAdl#WUN5i_q*T)CJT3{lCk+ zo84TfBYU3FOsW6zIwb9Qj<9!WJpNJ4@XYy)XR(F39qW&}v%>7JYqGSK-c8?w#l;$& z-h=z!Yo9yg$QRT@} zI<+YUP6v8ps+6AS!I=#H#8FOP2iBV>4EiF#yzeLH0Ly;C-dn27oLC^WDa zx_T63qCUe7l0;*!!R_nzSUMV86h8qRwx3b}ny>64h-rF@NK39zfxF&40~$$y_|b~940 zdTcmGbG8!%zG9kB^Fxm+3ly2->dOe-ZDTneq2uL9M=}``7p@OUc3cm$j7CP1(r-i# zN`EwFQSE6u_0~&6o&-U!*)F%O2uc-Gwsb|SPw&{?m2vaApG_%X_1P9zB_50aT~xBZ znTfIcgZRdCp`2KUox7dCB#n$xNkFIZ>%U>`oqi z+j3N`NZOB6X^X!8S3?R=)tfF`8$0bx`pEvvO6>2Fr!s}7)AwK&Uwqt(Zd#^?7Y=%@ zCbUJLk52r@hlq>vpFA;gpbsaRwce!IqlTN2N~a~-UunPKiVQ;la+psGf>H$)4lCr9 z9yUF^_T>ytnPb)U-$LceBMp^iYf_6{xxc>@xfAAl2dql);es!^6tQ-tuOn4DU2ow??#*MZ2OSs>9J?|8q z6$;uW+F@m^Y@&08FsOCpmOp-*jpNPuNdUPzz013oHA`FacIxp@f;B&6V)Ki9!_gKx zCsdh1K!VMP8j+G%;>g~N)Jo1+Y`;aXgPSEMd(Y}5MUpQCYWM%B6mZR#E3tuep`=re zqxr0A83MU_s!{lDl<*HT%<36$^Tu*yt2KisUzGTuNmK3zo^LG*zPporN~R>r(A!NF zGuP_E86%ZFXg#d$e*;=DY>*^v6iljy6Fs-zzDvDyj6Y#UEdw(m+L`&0#9GO*`fH4B z@#=ctWa*azFrKI_Sdu%qHsSrK!ekY&@8cI?{-csy3F+I1)8n_XZKuQ)&8rFk+FSfU zk}M`fkkEC}Pp>A+7yR^xkY!5qwK?C~roC|F&O$C%?%`>^{gy@b^U(hsW8Lu1hxByF zRydO3SKQK`Mhq&?@8($3WTujmw?e+b{(7QT&RLdFeS{X;-*NLcputrsr$a`4kGJ8S zbo4Of49$=`N;A6sqxO7(dp67d7sTlI?j_-x50~XYEw}qnS!ctDy0U^4vo+CBf!6bM zuUw<8M+!lpp+UF?lLYK3lg#<<^0Pzgo5Sbl- z_*}#7cCY>Uhcg}CwA_587L%GS+R}h0`SS?)n>PxNXc}mrUR1R3_CPj}SzJa9;OM)- zG-EkFl2!SMAnTr-l#NPOE-uTH?&=Z=l(%CF!$Y>he^bA@`zrsmj{lCJn@kMKh#_*D z-tGK1n+$3_wW#zHc!(dy()=1HV0kqJI=)nbPISX_X@nQf5rFf$KK9XCLvI*7tpuyFFgFtkD4P#k+ac8-H9bW70Xp z?UxNAllQ)kR$@H5{@&@slnY~7G((UEn4pyDz0b_@;C)~37mF|pI0DYc&zip7w*+f0 z4B7tbo9bC229f58eJRb((ik-8tWBwf(cMQcPngqRdj%vSKyHDg;ezwLyT_~fZIa<| zjqE-{YS{!$vK{;MPG4Q9{blnH)wG5WHx{^s(f6Bf)B0yA+M{hpX-rbk#Cg&p>YGnl z+L(hCpqV88+pjne!2`WXDJgGlFIgmL8$Q{azuC@BCQ}N41#Hn0ADdXNG@UX@Ioew* zmVCLnhuan~WxXAVs9yO@tTOArH7LQt9b>y~T~g$P{pCJ3tWnnvO`96@wD&yJ+UVbpbA8er7$S>Lf2 zJ`OO^Hw)O5`U(p9y5g?wxG(W5cDGi^L)E0^pKK*+u;*&=`GJu5m?kM(Eczl*EF=u~>J})WF(-`c z25ah<;Q9VcT$*}#x$2XI;2w?^w^#Cl5Mj0u>&z@U7&TJgKeRkp zAQ=z<_4;;|ee6G=@W+Q2Bdt2j;jrZPUTqnAdl#=DjUgLA7VM&1^r&}0R?Jhc)YE?P{lNO_G zMEzfv9PZ;0;hog~g@dHT9GqTZVP6MIfv2D=CqS5`^E`OI3rB)ehn;+SQ4AWkpwmY% zOd0StRQ*;~Fs1Q|3G~#Vv9wvRglf7JE+oitZVWTMR?vM3`ckqgp1B7uajW~lLp9ct zIjbw4wY_xJZYfGP8&vsda+lCa(S-dKjN;z8@f27^EpO~*B9g$V1DgBOnIIm;y!%7sC2q5A7aE9tNZzwrNU$E9Q)(2`%@M_rDZ^VXv74s^8-l8s9+ zkb~-j;CSQGj$H61uij3CwsX$t*LK=QMy>adHl>2~YWK^@YF6}J!ySs~S^xvaWq z$v$ZXO{{ibNdr&Aw+-ou;k6QOj?gS=fBMJ;%e=B7WZ7phTVWR}ao5ve5Yr;Fs1M8z z&6PxS8W|}U_k8F%tq!1P+sksHBsNYf3@+a5v+}&LLDkz=G=+?JDy2Tm1NDWXCl zFl9>%to@1;c~$pQVnU~6V5hLQaA1@l5W^N4z1WV@^}n2V$n+^K5pLhrU6KH6o?2AC zownWN&n;MTszbz;D3 zzzsp8uc+gxW-iv$wF6=j8-9d3FYY#KJM)?WI@gKj8v1G!aYkzL_NukRr3rMjGrV;oG_X)|6=g_Cfe;xP*}J#Uz&M)HlIVyy zMssjiqWo7Yj|n^D1W#_}%t03jMv3!jIuX_ay*~HF=|bi&p-u-C&l^I-Q*4nn^_`s(JHcj61^70uRtI^W zqf^mLCWW&8@iBWdXKNAcf!cDIgh?`<^3XrK%xDTv|9oK7=1u|;?DeY-Gc({05nrj$ z59OSUPR|a)Y_Tss9XKXeNI(B^)v__tOwO3K&}zhJyE@MmZp!KSnd`Gw3Y@|(%#xMs z4Kkd%SI!*oGK7;U+ey~m%p7EsuG`i5+YzI&?mevL{=PQa;PBe0Q#v%3Iu21(EYu2(TPl+@)qRlgrB4 zLTuGdCt2(?p6G2wsi&@a@>WF}ljPJ7WJvv2E51uqOPMSyWB>O7jN)0{dvxVvzb!Pi*;ah?? zZd!fh=Q`BL5QBktAmN0|v=Eis`YPMLgl>j6g+>X+I|f7}whIo+29Ghc>-a?*`8myCfo zFu4nvYs3IxMO0-45W`myd2GUj&EHV>eW4h9l;rtX`g8Mi z{GclpMB&TaZ?81nO1V#X>21i&zfz*I58%8k2 zTm@MEZIX3)V5moQ5qV()I22DkJq2wzv^}fy0$8jei(3U?R1t(bs>}16nNjZ)N(TUI z+9U46VHy|_!nWOsHb&l(%bNIin>I@=seCAANUJyCF|7IQ@GO^ZM?7vj4Ox*_X{4@y z$*^@=*|1i!5D~D-JRZ-GfAXFsP2}BsBZaI_7qpYVR~KfayMX(i5`qV8^J(fluI8+5 z^Swu1u?f}ZK_B{kNeVo>&7`icC6)q(JAgrq#pTQ=<2xNrH@CY6ELe@4ac#Jnu|d{+ zjTcjUipE;sMz;EN943AWDJZfESu+BfZ=J4*qqa&Z+j9@qB%^9TmgnhO^!{i^z}`{} zFwEF`t|f}9w9E@`Mj{=|weW4r4UK6uRGXUzG*;xz7rWH6A;Xl^4}(1T8i@{G4`;ew z3AGpOnT6XzBo&sA3?;Y83`mfq%}9Zh|G_Nz(?74Y&HIa58V<*ZKj35fR&U(L zxt2o?E$M;oQiIZd5sC#|PY*LQg89wQGINcuhu?wxuQ{iGh!;;a2(PmJhA%ZI6735Y zkNz|dze5lgNV0nEjN>^xC5gu=p#Y4#5Fo(L=!zQAl@IWFcprywrMl7n=-66Vo8?io z4`emXcZ&yEJ2!L_L;-I*x&Ol{;Ee68(y%%;%~gF9rm@X~7;IJzM&puynK~Mwvq9C7 zTzO5?E@xcOd(PNCvfz>yEbDsguyR&Ft{Uu2ais=dJ-2tw1yuRg`rE-4T91}#?TU|s zudnP?Ga6`aZu)1z$^NcDmC$Kzh3D+;*HJE1V6;q8XVMa__Ij~?BeNJpms_l4y8LxM zw`1WZxt3r9*SzR8!Mo#DG44ob#kwPb0IukYqsZ?j$-Smc=il}n4f!A1U$xzjctAb# z>DbJ2RYa|r^W&c2cgd_y*$*#SU!DbVO9l`+zj{bHa@q&60yuJ4xH@!hO#)#n8^`yI z5DuF#`l;mJPv9i`GdsVH z1^GK6c&QH2s+xn@@Pg>E1CE+_{b`Ue4(@kuwr+k(rYoDR4J*DUJXjwsJjhG0ro=Lt zq-Ns4LY^`mSo8S5CyWv`dYkXX-YwyBWYj!$`?Q{#k}2%MI$Lf8JB!}oiOtQDn`;dy z-ToH({lmTIY>tHx_7fI~UrK;>gvU);tQW`6SAu&wy76OP`)_+D+O--1A8i?!UK71x zH>z)3aWq%Y(1B5;j6ZVa*V+2!E==~dChVN`YDbN9(sj+WH&Z0y$7}m^XQ-rZ=dNL4 z>+@ZIWUbfB%)ZuOr*vhHHwjVSODgv@OgS?0we_5YV$bVh9)xAm!d>nuv2N?I!#grC z;qvA_ySc|U6TcYW^BRHWTr?Tuxh%Tb@IHj_2dye z=#n(1-MCkne|aT2C3_oHO6`vNEi=x^#+tP0`ECZdsHXcq`v%L`oKodvI&ULu>9?n~ z0za&eu;$T)`^&3Vme1FUuP17P$&}aH*S3t|7CZS=`OV*TbG)kTPzv|b<84rTwq-~! ztT~o;OPS1T&G#4cYIJvXT`iC2f2jT}X8I9$Q7n@0F_`XOrW|j%ScY9@Bo%fjGgrj1 zliLQE0C~LU-r{ENFVQkRRPt!edQ89$o>!_rB&l(j;+qZ$;zu?NZMGym#5sGXBshT= zU)-)W5&zliCzG$4{t~hl8W#?ytjIZ@5*~j#>wSz0=wr2Ot+E9^|4Y0V79L;9X9lHu=r-iXo40_mU1S z`$tI$+txYH^oceb0@#{M{Jk=l2Wd#4kSJ0{D&(xdBV9NU75ccsKkN(0KjZgeRzGOW zY>(%a>hNCbbq@S!}oFMB(>9OBtm)p99N&PB2`bysdn zY5ZJfo^8dp?DdiZjb6+39)s#Yt5WPw`?~Z5+|+7GvMwe->GL8!!A@C82-Rpe`jR&f z(45F?oX&?R27-LR`MNO<9*|P%4WUPNvt7ZA@YRMd8oVLfR2sf*9kKgo^k%w)Hr-LA z?;fWytSBD0VI|P0~6KF~n_{+0XmAYL^T!(Tf;; zPRK>Wif4%B<)9d+jQI>v0?lcKRbB_GeL2}?Rv1(DmCGB%8`s;%lHWVsMVFr32CWVo zWPE|Bt(MMBIM53x7Zz5Yn}z1EO7y4S_S8AS#63$LNYn{hJ!os~)wg4~rB{zL#B-8k z`L{1bDZikXw`m736jF|o&wNLR^H`xYc4;Re=+A~k7%!4l;9A=#wJTh0dT+?qAN7GtM zXZ7fthsgZOL|&PQcP2KawlGL`vzw1>4OW`Ja6)U@(Z1cx^|dUUi|>Qprq0#c^SbOA z?3FH;+y3}?5t3;L@(+wz&DwL)UYB%4@z2Yh5VAdW*7ZD^IK2$G=o`8^VWfr!d_fR9 z1n2Vxk9%$`UC^6{9E&E3KjydYrNEC1#oDP;K}m#Z4pceVmMW~hWG@(jXKgnj(~v(6ZNlI)k`3Y2C5&&FPPC z6#f)Sg%|+;$4jV3(wAVNufOV{Fq>?59CAru=hXg z#~1}W5b6t)XomI&mdq4?0QVkx1)P*N91{@X73|nVa|Qwl-;IB%VJm-DnVLC|{ZW1-oz-oQ z7Nh>4Ci9a@?%ZFtw-EK$g|sTnJU?-O(*7?kU)*2Ne}2{NsB6>Ty`Mf>`KeJw6{(&I z$$G)q#5VSmc4RwnLHqjv^pPC7u5bO6Dgg>znJMsf&}$N(xPl%&Jg^^>{-~=IgP^86i4@}!ZOsx0$rS0Q zHCLRz<0S_#JyXj1)SsA&r;22K{dLH>F!$3%T>Rp&$8e6us|DfQdlf6kHanRk7YrLe zfF_hGlb8Xw9V?unnZ#Mfnw+DrY;G^=N;fUGSMxTI%OD@Wb0-enJyP-#K~d4bojW=% zE6sbknL?G61H0x$KXL~0TWeve_X5`vTZuC5hQHZ3O-)sJRw~|>*w40f1^SA!fGu9@ zX$LHiCTue&q}p zyd0q4a5QB;>bc4zDFpjxkA}l}{I4^5@&$I}8PD5%%GqALTiz&UnJ>S)-;l*r;`2~2 zWBM6#)UI_#AnD}lAWX+)@#~g%UcV8Nu^DuMT{iFcHT7Chg1ptLIoY!`AZphfI-YZG zf7UXK+UT^u}EH|8HbkkCK7ercnP6PG^qamPuAeW8zJo*Y-X_Yjs(Cc}x2 zn8a7HJ-yHdT_~wgYL3=W8h!Keo5s`F$Dibzrh3qNv=T|yD&l`Pc^;9cR!23MMpPDu z@D{88Y->+FUR`}%F|C=R0&feKTNmkH(2$Uy%Sm}+pqs2P))Pj9&EiudDE?kg=I)+w ziAmk@6&H)rttD?Ekzmnc-Q74kMT5h(_0ZG(X}1>z^uv?BrSnorDkhTIkLA=#A{Pv$ zTp3&<d+>CSZZiF^?29x!6tD9x0xd3ljB;* z@4#N3t#j;r1D&erdy(_IjfMwU`lTv~0rkc5y#Dho$3%DKd%7R4aOD5`9`5S;kfdbl zQ$Hl3u;EtV6HDS7wvwS8MTYM#Omye)fP}uEbDzZBVnxUu=v)p9V(^>PQ$pYWdU`K* z*|R|`j6tRY1zObwgxp6E!b8P5!w)houFV!mYw>T56th_0=iHG#6LaO`Q}DLkNG*LJ z#*;lW4Jw@IriyjaE$Q`+WpoNcWhss|+~oV0c6hz4)h^ehbLvyLG(t(8J<}8@g1%=S zrk=cEzf%J2Y}%0#U#1nmRD-yWDk@%Q&}i?q3k+@M>?_IyIv%w?CW(hpi*)$=iv6 zi(o4Gsj1$jR0Xy4u^gipx=w;QhD~2eOc$zw2X7;Y!5NY33w-EiGf?(4?d8+T3yI++ z-vq1K(QT2LLpy*gwXy@UT4Hf#fZsRX>hcIFvV7}KfAHje@zh(p1cEh`CBki{3U|)f z<-vNOE&|J{*8Glwx#Wq5HGaiM&k3DFuIxrcD@h6=u~#)bBjri)JPFwOMXg7L?Ott{ z;{jf8@*K~(5CH5f;7gpL9%)a>rx%EmSN$w;IpA|FNgv`{%9O&s+PzWQaIyEXE~H3TogF-g1)VOGbG6C91Q%|YVLCIx^{U2bh1IZ1Trw7R@i#=`@)){P{TOWPaA1 z{PHh|>{9X%)-DR2n^QzB;5Z&-G!=4D=lK_vhr;@=cmihX{SU(al3?r*{MTeRB|E!y zXq)68cs}a6s)D3YB;s!JKhxy3lU4tR&4Y0rM}3NJ{sDisqYx1j!dK3fJ^Z@|0(~Q2 zwB2*?_ouGvgKVPyJx_F3Dz&b_frp8$H5xZCOkhTPm53#p8>lKNrB%lLm%^Ek>$VS04_DmwqPE>KSRhUg8zbyFtcse|56#Ab=xZcQBn9isdP`f zR{4lJ!L4>=fFZMcVAJ$Cg=%4y|3TM1I2OJrj083gev-p>X`3Ud%{CNVkQ@f5;U5xb zB-hl`gq&7e%@Ffk0>6*l1Di3Z%KPOwRjpsAtW?saR$152OW@)RG-s*56Ux{F-{3mk z_$+Aj+9JbutLG>Eg8tn_%u-M@s7d_`|9jx&H!$@uDnDEHl2p3P#kSZfnuO2xW7d3r z=E6q|6ZgQpsq;h`THMSJ?(ZR-X!T0z+OnwVV-SmU#PsBre2xXrBmn9vhZ^UudvyFk$ zwnCBA>JQHs8Vmi0E#Cd`QALS)j2J(7fd5qFSJbeRc9)>F&`;JO3ALM!#K&oB9@*gu zn5Xr3GoNw6;O8KqASrQVqB5te-8h->#P5w?TUs*a`oHHPQ0wVv#@SfAGcYqk9F`<6 zu!>SzF9tQm$x$_nu+4loN2_m?84l-W-ZSYC-0=>!ACW?da2IY(eD8aR(-7aOK_1^_ zk#C1QoK#D&pD8A!HF`##WqXxge;~PHHJRiX+s5{p&ROWoSLfHRtQ}NKpJlT4Y8+wA z2feR85Q^2PXFr1)C6`9lKVL;cL>>Y;N$MI-_Bw+JTfHAdltXKo%Bh5jShu<~UEMf1 zo+P^dA27Ay<%!A<>FOG);AH{cg_m5lmbJ;6Tg2PZBScXp8!N)5o0Xl}3jy(J(4p-_ zje^tN&ScvDA&bH9{-7-?b0DN5N#fo7EmBO{$>%^}=|*Ro0~MdFl5%pKADMdDQOIG| zp1GOfLpI({G9^oRmVNd@&gpPHw8gwIN0ZWN+ve^5&sD-GC99LhL5GD(hUwr5jEdY0 z2MTbPfCBK06V8z_iEvSJOv0Jms&GbXLLslRM%tQpw*q!fRNO9^jsJZ@A1}?3o|SAf z#IhpX?ztTy-mp-Dm|A@6!r_fRhMA-FKJL**C$+=d9e&qS%1Te?+P9g+u&56-jT6cM zCw%uv63@#W-gu_W4Zk1>#dzA)-_>L`6btpGH--(HSP@PxROsI>I+EE6Z)ZSQ%<%2H z7N+%i-<6;fRmeM$tnG#8IiEeD<&$7d z>vM3+^a*Uu%IF;L`98*HF7D^pMRfY*oXVKKqY`qS^f8U>?q~_CCNmvrwVDI9vn6C8 zYvVG5=?3|jGKI%~&4937MU!ouOOq9B^7?paj5d#6aqV-X9oWqF zDw{`_PodIb>375-@|;x!L0T%Dy(SvNsQLdMZ%`U+as_220C4>qx!5 z&&yQ4wJ)f&h?>NjpHBE?A>fbHK3#F*Pu&JFD9VpeY=yLgV!uDt*qJOvrwx^4zke$G zA?#SV)U9%B!Gdoc&LHphSsER%{qsME>@oPbP~tZPHf~m`uaGt+tE5Se6Q4R1#<;(} z{V{e4dOZJ;M1+)HHV1zQg_=)1MR%RSt27PjnaFyV2ad_1pM#ij1M8Uy!TV0*+aq>e zbEi$6G;XJ6Rag}O1xC|cbu1D^e0G@{RPBP*P1${goyPh$n87P>uG@Eufp}BhUh<#Ju@Cl;$ zINh$jyKiBHbb*I9FqHg;DC8uVB82Ybsr29A__3)D+%tictlaI&o&|+9x0?&^eSE@m zbwx_Q5~;5CsY_E?y_&3%Ga)Qcui9aiVn8PrrSSngp{MY69T3Yf2I7WZM|Jc6Fxao# zJZ4dJ+dJ346cVMgPu7bK25@x1+kUrf-}>)_9SrhT{BWFDIwpyUm$^$<8#>w0lNZ|m+~M&|URO@d`VW95 zsvd=tYmO~gnq0*te6rS+SF~^6v*+f2FGEEwNgA4ol-cu z9u|`FUzb$hh;&GJc==jAGV9ll0lojR?TtF@86(tv_0>n8SHDd2?k_RMAK%cqYEI_y zbC#IOpq~+mWVmI@)ovY4g<{c8Ww^neA(q!?wgoP6eJc!a91O6Y$)F*vw_%uE2kjLe z{v#qXH{;0cv5Kc|*NSfY1lkXbkHz?BK=Sq;+FC7=5GmoW)(MbqFGU7wEXC0p zB_23bI&`2iNNGZFJ@rJ5xWHl^OxI3v9acJJdon4!I;)@sSz!AJ6hBPQ+99Qa=1$LE|8&ZX#X7ZMAe}RKL+k~`t&ORzASg}iJ6srx_sbkB9F_4mWBxP|k<=Z_D z1+Z`#<2f3N$}8yhd<%)N%D7m(1APw+6$*m!p{oYQu+r+-Nr4n&rs@M6JsVkrg{pB~ zyOSUR*I&{cCY-ZxZoIf4Y2uOT_Jj(tAndh*7t;EiO^+7mJ5PxAvQ;slOP0YwZmk6> zy4Bo{cA>vnqQ{r=8Y?%qJE3>Mx9`xFaFy7TYb1xN%~WrcgZ`&;|zv=k3i*oS--HQuc(w0!w1&(rudL?UjakY6;rG zz~ax`952mJrT=7=8s8H2F&11;Ul{EDBW~Kg$t=#2opUGT!@b*J7hoG0lbx=m{7F&& zBP+>e9-_B{CV{yBH*~GR75+ET{G(HF$t}t{Fw9*0YtLElpvT6}#`;*$Y{f^*Pby~d zQATCBzKlBam5;d`_Ur8tkBXc#7RXrDw~a5LFOgj{K{AH)_O&C{#j`STl`n;3Vp~Jf zzGk~U&SqgOeb{(yzIsKdo~6trC}{riJ^*4Ly0> zw23;>Z27=#?*ZZGnXFsO#Waqfbt)-U$KPtOJc;tm$ZdDXW!hx(X@FC}{AH5eanE2v z&HPvGjD6n07=HAw__Ep_l6{64}=7kxB?xW%l@^wfyZ_ zvz3CUj+C`_WzQkD+d*5b)4^AF&C67Biprw$8Mlikn(r2i`)X1=Rx|h&a$!WFk~Vx= zq9uJ=SqkncyzqD`oJ37(hdC-j1+(RFHCBjA<)aKU7$^<wLRHD8*s%SO zx7>#K6C&;s38SfQnT3dIq{#z8Ms$nsJnFk=->gSj>dqeN&3>XhFijl&*cc;Is$F}c z0ZeJ~WZb@S(h~jMLgY!oT-Y@w!=dMP0x>kAa*>ipKFhvpnlNWsnEN<$Qa^=dKwyRr{D8{C|JiH@ae`h5& zV|~EpQNR32m{l?9UTL6Ht8~SZvPlqMc*NV1V(+cBX`O12?QMhHlRPWDQypnsMZHSP zLh9|bNBs3A5qbLS;@Nd6YAp#Kd@|(>EMNOQ72f7Wf6_)?RIRU&K2m@2FvUzEE|u+) zYOv3O(H1EbKhLhcujM@njE5QfT9xZi!mS$IgSwa-dgvHAp-MV+)ZgrdOl;_({nvDn zqF=l~J2-;PZi+S+ciWNf40tTHJo<6ZIw37O_>kUO+X=whBMli{ zlm}342V!m?$@Y8|r&{&3PY)}%mJBmHD&jIk-OjM)3g){NlF+|L+BZvQGd};OQhDla zEvqYzo5pfcj91EJa;Ikj}z@_T@~4 zqF=b0!T1GHW{v)Lr*3#1F*>%i>}@$ah7#pBBTAx3kL%lQU0Kr5hl5)jiEyhCc)uqd zh=Pdf;>Lf|(SwDUX_UW!Ny%Fp=yncE8+rzDWX^t{ZmD^*r-OnacJZHag)n{N8)DAe zJ~cKhBPJB16oaU!?OIR^>EIiWPu3!kf5`d;3h= zH$FT&sPk(RpOwy?qP>u4D%ZBb82E_o`WP)FzEG1$jt1ao5I&rqjfejAQ1*UE!+rgR zY>XS|%Ff(#^3Uxn6Q)d9)bS^~jr+w@Xdz|^F_2=fwBIWK@mSxJx%x-yjiEW8pT=_G z`VLrc`xxDA7#kT;8IW!E00;-|2r?sALOf;#kE5QW`= z^=8e|V@D_nht)^}hifEsNM<~KlVjPZcP41;IGKUZRez-C=#rtP5U@F%p!asi`9j&^ zB9P#XkEz6Ovc?srf+5q_9w0={#wrukU5ewwgJ2wJ(3z-XNmhSRpUnkER*US(qbMeS zT&Rm!w3_Z_S=*ptgD{P!+fyLWPBr30dSi|w2u&n)6F`?nPTv>kH${CS+x6*ba;4Ob z(Q5^@y9;(9{qeM9$%G{%{~u{@71vg`sPDE^XwepmTU!bgDDIjMcXuyPoZzl)vEqf| zmZE{+5-dpZ;u<8lYX}xxPS)CcuYJzd`Tx$j$=$rjlrhH`^L?L(<2oGQrf#BjXJOB` z1>M1PZ~;$_83vtPRaX!L$r|AxSj{Bm3@2q z>~htHACiqX`nkoiFTLqA>8bd9(Hf?SvRwV$8{F2RYepj8?#wDzuG@*VvXQbG(0*D6 z4z!yP-r`tPvHOZ(%rfl~F{3^+RnhkQPPlX*mo<=lG#I;m+5{+`(9kmS$&$gC?4&=z+)rT z4c|(M0hRf#J-&$Q>u1C(!PTa7#4{)3Eq6QgIy5XwtEFn#&Hb?7ZWnCk*L%{V-oShBA*1db z_x8GE9-=oXg9C)y?$a}v@4NSk|JrN|;_+6X#a#-HLcc6@@gp=VQ~AAYLg?l`BfOJs z?YA5xG91D^TXPYEv!&4DwjcOOp{~lN_g6rY{rX=Up7eX<^N}~Ze-UW5+O2?|g<+mUmbx(Z)ieH zqxYwaIEvBB2qu?@yLEEU(bky214{z^I~T~K@ht=ug_o8ZWDl8S)mQ7W#8Tm7O^a)- z`rGv0To(u^tgm=ow>y!sQMj*A=d;Xv?9Y{U`|_;4+kiJanHYAFa7fi!@hLjnpXds$ zwZ1kL$)oK&nf^SvRjvpK*6fE&{M^rsSeZ)Kmgl-1H5G#hq=`x>-#pn&Z+KWUsWE0=5_gssB`Gb3lJ(QPp0gu zGvS=^F2das<>W!33+sxU|(>a2j^E;JOGY+zu0{kxRy1b$Q zl`OWi+)hWcA6A?c5ZXYS8FmcO)vl)C(!Nw$viPGOZrjzqWxbbkmB40*CDfXFKVEM9(|Cpl{Z*>?$gUgwSTc z3-tpwbN`c>6Vz%u&$+mlsrVl&(} z;)$C8hq;!Ex2zX(=qv2G76U`%FZ=94(W*!--mU9Q|8ekgAg?(+HXKqyk`}D~>8{zU z(7QbdZx4>AhJPCU+ZC2`h8&;daR%BKHy=)y_?AlAz!yqqlFu4}Pe%!W9r4a>qY6j? za?#Tz>wh>#TL||MNw0X4wt&_*L1JQujVVqhmFDtYwPoU2`CHy}s3Fll;IGO;cT^?? zTqp)LV{cWu_ruJ}&QzdXUO)SC{r*~nKiv1!H(jnX=~$Z3YYQx5gv#GQK3?2*mwKG zZY;d?+5>F1EM8Yy{_L|38T$G6JR=vK?GX>yF1xT1kNkL?qt%CMmXaSGdW*jYY5;*o z;jR`ah0$-~A!eM_K)=bmfgEGLVr(c2wS+s$D6$pxbZ=guRv@>N?Q=W5*5^l$?fq?A z)SoR#6hJR(#FZv<=1+q)V@%WBFnl(^2D^xZZj>6j1i0 zN5a#0qswM@@l)c^nR1k)eZ(Ti*9jUBx8buZrey=kAOp%$!oqdE%H)gbkeJ$TGO`sH zL}c+yLf=wO&)Ef-3%PsvWjoAupT6>F_e?FFA032($IsFcIMRdvKKH@_D#}gSpKuJJyTkL zRhD+lH9uliy_5d3<@Q`4K-5OOX%6Ol`zx< zRNdJNVrROJ+txM*EXVD+)HKx)((=|-dE_3Qm{;h}9bIjmroWpLs(kw`xyw1-4qZ-` z8)>dFErD+;%S0=n=#TS&cz;wo2!`?v^==pYLHhVWft6e&fR{desW;I1VWkNt*Ww3! zH+EK)?(@A-Jl9?v)$YwDw;5Tom0nAq$wjQj;5ltL;GV$fSIcIA--AUCrKdnwM7+)Y zu|>^AKt~K}P2u)fmKpK*gx>k5n3`C(J|Ik;9qLLs{NldEz+%>??J4FQ_dyW-T$n zT6yO4u3W6q-K5$#`mEHtZbc`B@l$1*P&A8ZHVLF{>?E$ zDj_Ob1(V<>8pAO45bbjsVI{=K=&Y5qTt4Lg+q3Rr%2Oo zf0nR6g2(v^apuDU-DlGKm}YM>Xi~m@8BpRSE0{WE!4r2onI-P23p8svr6oti@(*WG zFZv~AEyRABrIkn}O@90CTUmYU$4Uk`)fB@&!=*G&WTCQOz>JB0jIkS2lW&TT_n{#& zPGB1oX0quUjq4P)wHta>ymyZ`>_*8I1iQy?_l(6FleZ^=fyo{)>RI-u>Hx&@80hzt z%(>!}_&a6(rg{ra9vvZ2iHo8!nB^Y>ekON!!K-y5FS)wH_WIly%m%|=hoeXfXe#N~ zZ6j+sLdD)660I99D@RKK))F#OKh9+V`=TbPonYlOH1;x854KqsQI#N}bNCl0>L3m& zP})f3DFS6eZ6FpMNiWN7KV=eg=Mn)1^xe-boE>1*52p{ANTF6zz*}y;4R*sKjo)n; z7X}ye=~l+|+L;DdM#BP3{lY_-Wq57jWAkMLJ%t1GW9i*faz*YFDIKs2v972oqWWML z!gvmGnWg)}mb*ZrII&6J%N{#w@27qQio10uxiLty_Q4QL!u8M}wLQl{=oe919_a@I zV^rteW-4JOtp6G~J%a4z>MtHqc9S#rS1N<{g+I@=C!oAQy}*<0oeIw~K(SY-8q!?H zI2Y$p;q1cm8bZ|P(Rwuxufz*z4APHfYRWp>TM$*SvPcEoH@} zgvMEkxzNgMK{y0q#gorN$$6zp*sQ4I4-U~po~0@h8orul=kY9E#`bE8rvRz0L*>F> z<)q4{6o!snBgF1W`74%WoFbL(#KU@UgFoL1(7E0GZIE~0(@vXl_d|m5sP4(-rc8qq z;EJ&+Pnr&ksG8R6shaBjaq}ecSW=qC=N6xa%Dwum>A%4i#*%<@^cz2t+dnMHeYh8a!}I%3d|a=Y z?B_-{LX7g#FE$l%bPxtS!7o*4bGjCqP~*KRO4>ItpOr0LUYfHHbnO5vHf#r*OVZ$9 zL&-B{t9An-yT3;#D^KRi)G(SFO6sL*IV2)K1)TF;lJ$Rcry3^-u6!Y5H81?y#bC#Mt$8le(LoNsrO@M9l((npzqO$-~PB z?~BX;k^w+G7RKz@<&K)dLH+AR?(^(&azHTUC0~ya)1~Y9`!?Z&Ja6~lWhC}DUgTKP zniQbQV^|!|(`dZFFchqGzJyQBH?s~Ys&1qq7`3`$xRMc6tRv}X;w5+g*=`dd;aumw zwd15)ynE%eX&7f!!pte{x(P=s=%0z11@dQJSaZ-1rrxkI_iw<9W#&1H1BcZuYP{5g zPNp&%)5~oz=9^7-spD~VENK$N7R$sclGXM|0uy1R>lf3WKd40`uRrhBTpct)`uXA$1Q#AeW|XHVmYszvor zSxdt+!_gTUuO8^l0->pYEA%FsSvIyd)-~rrxSgGx&oKGkt{wKZ?wr_w%GhA|bE1(_ z=GG0D-8+z0Q+keK3ioz%jW=ggN`~I zv$Y#-XTNEJnkF2zsC8=enMcMky8|`{XPmpuHG`Gn z0{c>pvXs-rqA`}1to;)kp1^ioOWUXBVE$hsM>^sUZqFN@(QHv6SB&k5PRWqJC#5FS zc-HAno4J0}+P_O$wn%i}&G>?#(&JQe!8g7D<9*3!=LQ%BJ~V=+MJ3((~6#V*vxVOn{sxSdr+ZPaF0 z16if4;hm_Y8N4$VtPf-zsC$# zk+(;IjO7({9ibvH;*v!@=NF8B9N&Te$R>|uM~;l<|DIYC>e{YL(bWDaSD(x1Z4B?{ z2|zj~k5jKSEx-bprpvwl-VPF+F72b-eyCeG_|q?pcB#p*-}HblL=*?A=BcG+A#Wtb z!RTra;2YJ?^0?2@INM`6Po(jwCB=|$L%I~8Tjh47ZYfv$Cok}EJ_vq#bCclgdzJ0{ z_ayp*x^tgJh@}YOYvWd0IIGY{_R}1sTPb%(Ik;-&qBRpjX*b~si z1||JuL+Q)R7tDxWrAlS1y(t6gLDqBXx)L8iqZi4ybC`9G65iefJ3=*gkBN^h)lbh< zp$yEy*CIPyoCxZCnHooX=kI25{vpR7Y4qN3TGIrWlsxBJEbR3yBLaC{w18OfH*lBN z=W-BF8*tECTKfgWXxQi84ZhJSh7PzZGzR}PtYi(dz$rWWTDzuMX5Z>s0v$3x1si}e z$t#PtSFsOs{mXQ5l6QqRyn4k1QZBX_79BDVDY@P z+JG%mqV1O95h83k(x7fVArs$|+-l`450Q5fZJYD!UTZ0VBj*$03xFUz!uZU8rXrg@ z%@(r6ca(PmpU5r>WMI<;r7=09e)sNnSJX2Bu?e<2uzR_K7HmhqMd8T356TlnQNMeK zcpBlp>Dl1BeRq{GCFuPVzb~qq*7WbT5pI*;f)B0Vkwyg$qQ~YmF29s0vcJ94Ps=!T zI4`*zH?x9!(YYl8yHD&-*9E?uKRcw$w}dS-Ix&DoLc(w^VthNtU&kP}=vOcnYS?5~ zNMGmpohn&U^3Qb}S)-b7P#Bl}!d(pPK|H6eoz?-&h8D$^K-J{N?-lg|GF*vit-sm< z=L zRAi%Pn)e@$&sRi_$|Ri@QsW!iC$>ELYXNTMgTB1&BLr(U zdFd#Rd`byK)zbq#KF?SBE9(rmW+%+#)z-=mtY@4O2oW9Cv7b(B4d zf3F3mrOXp&Kt&I8w-yT*^8>0AzW#}RTu@j1qJepof(`7a+m6ug&to)79D!+QaZ>S53_Hd zesHJkd=X;!){1(uB^;VbcCyn-Sp4~l)SqbGXLD&=|Ch<}t=Ze`J@SuG(_5ab8aF<; zGnK*ZR!=jwhZJ+U-_Dt>aSKm*>dnX-6`Ik-iu2E^WP9##? zTdcb)KZ46|K`f@N<2+5xdF8>ojzQYIulZ_1+6Rj1(4V8Ve37OVh$LxD* z58f!($3pl5wv-7f)?VT^+CR$>zi*M$$+pJ*iiRn%okODEA-bo?ou?DU5-+y7 z#m1+J-#(y|^PJQI@ASxKC@KX>9SQQZ?w1r;m0Cw8=Y*7zIHY*oDlNB#VmVToudZRJ#^kRsO8=Fq^kfBJe(gII4lmghrgEu z@<5|MiJ~>Zed?LBI8HIi! z$Hch+)~8Ij%2CCb>7klcAu(OneP=g z3CkK~?b*t-1+)D+6?(p`L!?k4V1&v;+(wRHiZWx(Oc z(^A(?ql#`|KaVnvp%%#)zgXu~!Mwh0@L}4xj4Go$wsr&mJy#qAN|2-gwe|4MgpS2oq z-?iQCw6i1aAo-z!jav%E?+%*z9m&R%<^1=vI+ri=S65yJG@KbAWc1cHvJ_$-eAobl^jL4P10Q-jCIXyYRQ;5~DQq$so1qh>pl;6KyNqR;*%teig~k`P7()eFoiHoZ6RWqZZ{jv=nmuT<$VhdLGE%ZVp-7Irq+SbJe$v zp)HRI$9FqT4(p&0SSsjoZYlfL$I zr}1r;?-v0*sd7Z}0QZ=lQ$1q1=PMQErca>ipO?4qEvTk?%Jxzi)rU*@P;VmbSP)6s zR%Wsv^)6WBXApA$F)t;qXDn~~kh2QmI9QbVwMmwMppNUtPc=0`8&?z*XS7q)wHeFY zrCq0TXO6e8F`kd{if}IiIEeP5ZICb;uwAPLSgVbvE%Gdv73I2nb}eUh(hqY`P*G#D zoHsU|B^fl)!<_vHt$30^U(z{LxhK8FLwSc*Q_U7=o`2#xV z`;6QyXFfxq2l7zj{WNdU^fF7M^d=7gluDpr1i!M%>uP2w=lC^f#3yXp>4}t?e|U$K z(^`@2_T@@`c9zl#o7BGR4!)_7Lh1&e}-d%`Z`9XHC8RyV}Jh6d1s9n&Ome zzpu(7TWT;>Z{oWxuPXnqxDaeQc!(!DOEh2^{j^lkC@CQ6E)p#G>vi7^2RqoS-J!TL zXj|QL*f6Q*xJ-FseTEAt^;nPaK;8$<8d-f{iQWn+V4$%X&!XcLK*{3+ph&Sa`88%8 zei5?cJ!{+s)0r%H?1o=4EP3@I_tah?K$9l<~{F5kn1JwaP<~%weJOuT_xaA(8z1UEwJfk8M<&vN%w@=(F7`TmB=j&&Lp5s*bMC_@4 zwMY)N5i@Ltx=`YRAj|mfS?2nv*3H0t=V1&iXIU-IqDeTtCuVFavJiVtVeJ(jGa_u+HSxQ zFk84|%2UEMb|k`*uAwVR@k zwP^zboIY=NK|E2cw87;_p1U_ZkV3pF0l`4{w)5wowM`L0AO5c*bd7N=kez&pjFz7l z9rijfRC>$pLyy8mh2El}%?D(G}`E0?qDt2ZCtzn3$h(2a`qGxtPKTK@oE_OY*W|{7O~ey<=pokNQGPdB+sAUEuehiUoceAX z{G^)3$U>~~n@R*vB+^q%3SnEK0LS%ynQk+oARZ(cmhN4ba?7T$b^YY@?J92j!1k+`6 zf7&c}r9B(tMEs^MZrc>2*|k|_N5fSje(3FQ{fG$9GZ_a~On+xjR;%{GU_(cCcU&*j zg=LG6r5k=rxDd<>05|n(Vn@7VbLH6hX4oTe?jG~n8qB+wz*1=&*ivK8JXC4bR=WGY z;Gp4lh8%dQ6-m5&&V6b*E9#JRBii8aImv;+(L)T>x|7YGX4Ez`Tnk)&9}&3t9^sHW zr@{fNMOm-D>^wh|KgG0+2+Fy@>0){Vc=HW;EW}Ihfjh&i0T}CS#mO|+u`HntIvyZG zN8qRO#OK@JzI=I{RmHz`Y$IEY*3aL1H{BbhLnZhMB%!?hZegjlV*8&YuOSF8Pju4M zdUq+(iU5k)={3@pzqtLG=k8i&P_F`1`t@>0ET#I1XgnV}rgA88_&7u^Qfa6NBcN`? zR7n%e1c8~duiG7X{Nsv<#;rLU&K&aULDnNEP~XKov7p!V@YfsKd}ltfrfs(uCGad+ z=zDfk22573s_jLfG?je>>}9zwD0~=Zfe_Cm@mFlnneY;sLtmo7oJBG_~}!Q-f;j)7%bre3c0>?uheHoufz>#CY z6NHCuEzH}0ajAyfp^q&40Tp} zT2eo*3EcuzO%tx^KfnEO8IRdOZS#+37%BBxd%mny9^6}xa(BwMvRabM4@6Z1dW`5z z^9Fc8TrCygp5+MyAyak304L)jV$CKM_)waEnq#3bD-iyIxSRvD-rBTY;*v*)LzH&c;fSHaxq`N9ZXd!d>Vr-wPs?XcS1(Vzd0xEh zZXX!wXZrXD^c$x^@80l#BspHJzwVhNmVYC3hLj8iVlheV)c2U8BNt9OzcrrFOj{RE z`>U;cqr>mDEjOLf(n}{;-k#U}?AsjI`BD$nGFk>3l-;!ryrehQn5a(TxH)au~{^2Y- zxCS7Mi9!9V0ty%bkzBJb2>pw+`CoO!!N~s=VgDcNiT-~cf@TU05@1gyj#!Ml16&Gb zsiOZAPM5qjY@Q`ueE6eWjv=oHb-WIZ!2a$1aHFyBA$(ByY-8ii8bA5i72<(n!QK$5 zi%XE&U|_@fdc{U_*;vq#|A1ZW@x8UPTo1C!Tnl+SWwe%I#AKLMj%*2+P zyOvoszUvDw#%Z(R)+FjFna@TDp7dS)f8y_dwExO#c|XMX`eXr{h@NQ zB>}b{K8`KVoX-rhRehco(T?H$J+m(cI*Iu*#_b-~Qs6mx+mX8*Rz3tu(Tn{&l}+

    0@tzyi_o*ZsrrE>33}gbnzV&|2W>Td&CTwpI=}{zToo5 zYKK`1_;nZ5Z1jB+#;5!T*8JMg{#k@cm?n16{r%E2E1^L|tVsV5RPjjfUv~xfe|Jw) zLCFJ0E$@+cI`eefPZGC$fOVZny>y(o3K%I zD1$G0c2@ryy&n&^M?>!{@0h_UgQG*u+G!7)@wnjW_`Qn;9igtU0t^M4-#e+7r;&YyJI$Uv8$$9hd4NRbX+N>TA-KssGDukG?wHo~*Oe6879H z;6CapO?j|QMWZ(`wh(Nmte0SgPqCYOLAp^&x8$>RkL{F}R;1-c{5&Q!v?rqW4Yk*g z>SeO3N-zZ3j~_qw6q%5y7qpR)LacE+W_XLD1`8C22X@cw7x*^=57$13EILt=R&M3b z$@aGJr@jsmnJ7>Z$@AFv1)j`wgO0(9U8KAvB!{g}rPv%syYQe9Z|reRvHqvGY|NkX z$v{$DJBjHCwFpby1t~NA0sNUk$9rBaOFMCzi`Rl;kA_Zrfg zPw?QBUIiv#Q{LFc!I+Eo9`j;}S}$PZ*0*inqm;w6=+hFO1BG5wn&=*j{2}AmRqxo( zLum=dGxe_}y!zUG>%YBP14+Y(6#sqG+y>fR97TkOPr$sL`JI=Bj@SDr+#l|eQc|w3 zFD*@UbIs-rykN$FdAn&#{_W~_e6bmxep;nPbX* zh~;*1z)08U^YycB=abcK(9!W)Ir(=*`6>82$O^A3cvx^`Xk~Z~@VnA9qDyY(bQ4B* z)Du^$Z$dD7CisZ~BPBp4KP5LV{J_AN`19xA-7G9>NOsmfnPghbwOP<)#J|Vy%fTCu zUOWp+hjFkP-E^5jSCjiTxv)p^c8VvG{~WNsiVRlVnK`r?+l9;BTr3CF)$Tvok)J;e zM33*HmyRmMRdtFHug>m+^tTU~n7LE-A@x03(0KPAD}Al4M4cx7yXVp?13#GNzhENf zPa7AXpIP5-pq23tBNhm-ScyzZ|{Pqirtqmbu;0s%08FO+g3y3u6mChodrWh$qAK-B0y2yHRwKgunV&vd$k>TAe1%O9MwnXU4nXPcLPO+H5X za7oc}gEl{~H{hp63w!h7cPBI_(n(fs?-dA;*TP6^`#d+HHcLfgduI#6Z`l*|&Le|` zfg)+CX7U;e>AKlamE8Zj*qLJ|idT=no}duz=DFWO!=Cyg9t7^6qjvQqhI5(ntSu?| zV|q8Ld`Eg=+F1hF*yg;=AGJhaP7N6@eBWgAzpa&hiR;boH0Qp*2{dcK%~Vo573t%w z&>$h8j?6cBU^NgzGo{8ngzz9v7>Y(FvYwrn>69~F_B%2?r*`b z0DP*>JMFQR0vFb+voM2nq9TNm4$R_!l$9Y{w&q}$K)KNxtK-S_ig-=Jlk=^B>vNib zn;lzzG99MwgCf+8QqyQtrkxgOduW)B=j^~CW==QSfY|@&*0M6uStED(^M|*8%)%Ce zz2(qFiw? zijApz&s3z~-GKfTOXaCo~2nHDHj_;m@ zhCh8pLHoS}qYC#P{r6OHj0$fD?KcV*{f|NkbN%l%|2-Lt=u(i?rCl|b2z`ouiTE!y zc{?nt#llgS>OVRUjNfo@6JuLACetvscqjN*?Z4i<-Bv}K(p5Nner5cbmBVy$|9W6< zWduzQAFdNQ{(UNsX9}`Iy-V&|0T~A-7)r32{1t=2fAv?nPnnQg|G5DFuU50;WmgRB zP>IlG=8V3L6r!_$6~4$Bj$}8Bc4J5%@^yQ|5#;>_mLIcl`@Rh9b+i`Ja5{AXu1o~3e z&`PInk=Qr%M`G-y5qEcQt(7XxB(tx><+7DUbH}ILmo$xzg-QCn`hh*-wWzgmGZcm() z#h7JmC|PTg-&h>$D$v2U%kf5V#e_c&^)m?Q!QIW!?xn(7X((W7YN}e0#Jguph(G(Y6i`ZSt2X}p#p0mqH_D(mO5I&GVL|4m}@dslkZc3Jj?sn9+kXLnd@ zGE;BO;C`eAqt3y2D9RxhJ#9hIlaHDVItlYUsAs8J-b_7^A@?Z{k~_yGHv1NYAP(y% zwFpDd$!Y7LupB&u2uQzHUs}U_RySG12mZ6RfAc>2dU$kj0IAuob()AW*z(;dz1B{s zk0UWln=!^244BNFj#zt-x^#o{UXoVE|4Qr(7(I$&Rc@%iW3J2>+CDvcWAw}mTFzFk zUmfJ^L}o>b8wZNf1hz*hjq&SI!V1&YYC!A?u~P7FN|kg@Xo2D+C9f0pF1<~IVzye4 zYbiGy8}z!K#48FXxH-qSMA+c$)bnb_eNLN3v+HW6vKw^%36rHh=BvssA#*?~RAjwT*;#8XC{Fuv}+732^@-i@I+urZ5%< zGIXO5ig{*KP6yh9Gn(!hsd9^b?CzNL3G14VF@~|sTu=yFcT^OWQ_E%$GLp+)AtKTm z`I(-c+ZpgEC5c4z{!*?R#F|?*r5bc1P8x77K56ar$CNdk-2GiNATV<@c&G?C`rv?K ze^l_13J~|;bf zTj4f7Z3ed8t5vgaE^pdH`6$JYMr))N9S8TH+7UGbm5*EUmu$(PllYMD7NISP?9SBN zRDS#m!fnBs=LO-#(h2Hj?N||QzUtn=WCaz-(mmyAzol?B&&4P1@GA&^)EW9$+)mFu zy=Os(4g{6CxHw5WU0zwCoxFwAX74RBiDudl>36Sl?8ghN`Jg9;n9;odhJPJ!@?qGx zPPcTrZ2CJ2FmnT-*4?jQOFCc7r@Y2^_U54qN~9d)_dgN#hW#unLWsIADdIjCA|(5> zx(tD^q2cy`VnV=;%pjS{q~3m~him45TiPZ-*ycO!t!+g;yV373Dk7a4Q<~%#Vo(tJ z6HVnH%Fkq+>`W8+o-yOY@U-Pca1q*wY(KM!>Wx83Bun}l)Z;e9@ADcKa?X6qrr(~S zB#%bORiD>pK37SjDm-U1&pKP3Y?iUAI%3eXf~`bE_8`7XzNW1g&r<{uNa65G&8zDPD88) z`MgII8T_)MDvcEqtStvcnq@(0p6K*T>Y zANYHuB5NrmIf`Y-d~!9E+3)u7*s#ePtedvW7!KFX$4MA4;nx)qzbrYYMwG(=s_-cl zRX!(Ot#N{e^N}m%%0Mm?)|86rH3kuqnYvuXuvsX2U4v5G2}*#{2m7`=syjyWv+SD) zq!d(=kI0%%@W;~LwS6x&DXtlB6Pw7DX};;`XBn?<9oR%pMO3y` z@V!IB%kor=l$)Sr9J_apq@uy)rVI0useCL&2U3|(_VHZqo-*!~vUrrAu86(2dh6`6 zh*?TSA*i){8%(R$pb8!0-`>{fBy`@3rPGAhsNfe4`AVn-r5E@O@0Z%H(!{y{qD6|R zGWeSmOthJ{uPRO>_-;sEn;GW@SLLfL3ahBK^J{hJP!_u_R9<*K8o^JW6T*2(aKdlH zDl)?yQ4%~K&_0TC{uCBmyS(Pibhe%)x$}_PKRB(Z_1ZY+XI@un@bq=ddlq}~yqFC! zgzrbKLe|vrHeb-*sftGPL7qj%{Q$OMGe98{`<(f$~r`&$GJF)-z%c^Oi^_R4_ZA#dQn#rlY%Gl=z;~i(8lS@BOZowlV5 znZJi1_;2<_b8m}l>?hW+h#9Gc{oX58)FH1gk=|!rOO(wON_If`+1$NNODGSsTr#VU z_O)w#^Le|Z`FsP!cKF(jR#j*Jh7QhPC1o|ZQ05$@suxXw|Hd6cdKodoe+EYB7kEmP zPZfH_RK~}%Df|Kjs2PwMmu0*zy7@~ac72WmMNKQ~@|};K+RhAwA;@&K77_5D4J^L4 z(Lu9mCA2ejdS@NUhS?@2G?XdVN|M3nktT?m$s$>@sT9i#3pQ5)tp-1tK&jDiW>!GV zc+w&Xyjo&41iR_l=>QLY08oyN%AU&-c^_Tk7HbdDESfFBxv#H8cii_j-((oJx%|qz zSiY2HF_KWpfNG}O)&i-Mn-`{(XhisDatTc*(ZwuY?Yj6w8x!Y+ zr30I(CEGGI+VA`etr-QU>g}EZFSlsQU$iTZ#C-i57zy1ql;s3Q{JZVW3sp}0%CN73q}4)^(d1S(BbgY#|=t4^xGxybaviq zD1W(by@}MXHDnN8tk4kf<^#zX@o~;q)ezW^WND*=uO6GYn~RuuC}=%HUP|P*D{5vE zK!=yD9M%ue_86e`-b~@=x$-|Ce~Us!Rl|H*La|&b_QQf59cMekAd%B_+6f1Grqcd> zj{RvR;nIl&13w3of(lzxLl{3&W0O{juTGE5({VIwTJDh^wBTt{K=KevW0=zU%lDPerG3mdISza6z6KCSuc{O(KAr>(E8oj z8*%LtC0KFHoUNszo~}x*Nh&*088M)}Fd{Wovr^Y;=#5*QXNO@}eTzIa>UN1c6k?IT zhv3Z9NQ=Lwe&imDn@6cv1{b9+`@Ndj2kJi$>mZ!FcJD@_NB2n!XW2z3 zEz%M3+oeOvVk9k}bMxjs$Dw4}iHj5k^?K;Bo?%v2mTq$vI#>JgD=eLumzu|h!&6m` zcF>(A6)_ISGNPh3gS;SYXmLu(F5N>xm!0PBHByI-(M;o*52Lx!we z8wsHs^CBQ&Tg(EZMMR#45UIOFx92jYOV5BhB0E3Z?!B6)Xa&{#HtZ(| zw833ZoqO}LaX8@e$wS=QdlP2P!6&&njZG2kt+#F_d-C~&4fJ3cTTAe((#EI$D3rr>bdz9C6pFL2kMb- z@Hb8FIi#q;vx>?Gl1zGiiFCQM$yw~Fhw0aTK6~Pm7ircpRQZK{ztHIQi`^>$u>C=V z*+=B8y%^_7P+%*YnjC3hF7y6{-Fa>P&@%pHtL65`L1C{Hn2{yOU#8vh!sP!V?mfer zTDq`d&haRUA}S(Bq#O%10!r^3Q97YR=&1CLKfY6)Qa zpU$nVA}v9j$R||!dW_KZ@)zzgT>N|QAOcF@Kx5?_d+QIwV9ZH&xut6L(~Kf`NZ4X8 z8oYM4OC>4^1uCOR>`E@1nr=Rm%-i}9HoJM~niBB5F)U|OAfn?8*L8^M;<2%KHym6n zveg+zF{O4b$1;K(3>>yI27rro>cP&~jj-67ho>v_p}|ySM=IJHNx0{TTnx8IZ=M>~}WU zt}Pi(bnDCH<&_9&AWbI4tj=j8{?x_%!e*$RVM|k=_M^Au#a=3;E*Ul85lv)RaH-xm zyxDDTBFH+RCg^7Gj!jEE!@jx9@;tSvDb1|i8aPYacxRQ2=v9~}S|z!t6!F}q=+hSU zFtw%cr?>hHu`u_hl?gnV?EL-X`_l#-;&6#)+9rfQFWbY>1`+c`Dn&oc+r8boKu;d^ z>j0#w;k`TlHq|a^dKB~p@oNCu*UI=28kf-2(%ZX<^L`wu$r+-eE#GB_@s(qu>l~^P zI~eOV-*s{8(~T}n^pFBD^BSaZGep>(*X%kItF6(S_JiZRG3Zqo_b{%Y zB|ka&{_PE?dg`+3TJkNzS4+4PxV<$%!S4Z1lyO7}Xzj`5r6y%#`fqPqZu7Xv`Sj>& z`^;=5es&O0TQTeR-X<(JrM-wMiWuIR2sd@3USF^sTp7plA&ZsL3$6pq_h?)vhl(Hf zy5?N!Kj>I1pFL+*IReezBe zh-9YEcnh~&;70^$cl4?NZS(o4^QL1ZFNGiS;uJf%ztp0OQDh%C$!&ome%TwuhJC!J zt`uUaTbKCmxh6Org_KP>Jn5Fn zhx1tIkoR9alwa@7m7_Eev(XMF>IeBUzN*yGFS&BTpYCIJYn<96-kr&hS$&w9d$@l; zVt71w=thNJzBi4BA({A%1%yjN2@IZfN>6g*6 zyCCQ(+R=?PWBKN6(yf%-Tpxle-~O6KP;a{HG4{J9gJ*$EyP{wNKg8g6I4_x z)zUxh-1XC4**OOln;k1Uj=P_)sqal+%BE3i_Vi^GN5`6h)z0ap$Myx+qL1^=(s3Pb%rq3Z~r0v=Q$M z_=RUjqH5O!G=o>ofr}m(PJx2q&1VIZUUUHsl4B^P_uTEaM@8j*T1G|p9;m2U?22mC zpNLda1=I{m{hEjM8j`J)>Uil~Q>inYGd_z5wd?Qk>tVaA6QiM~r%0GKQPkK^QF+^DMI9X-obI-akv@xopJK0>X!z4ocH}1%QZ)1$ocHW55=a2L>Jc+MHfbK|3X%g3c66EcR|!@m#y=s-c_I zhd-juo)0Ua2~~D~5}K6D%y`L>8pS%&kOhb=1FjiQea^T&?Xz{;pf(mkM@b(znA8pT z8RS@KbDu#L`|m2FTfFxFrpg|@F06|)#yw$AkrXr9?6R0%tS!`dsA&q_bhN^&Xk4`d z-qvxb1ydF(3h5WIubNPvf$1bdPh*|2-PVdJl^k3V*&}ykc}cVRk?gchE{MZyH$^(j zV@5={B(g#4MQy44USbS7>ewbmsV&V~U?LOX^`<0(;nC7V6G*+Gs8dy)KBark-SJyf z%j#~D9ILiwf!v9Iwk@-9pjNi@0pT(*d|zNzC4K6sVsU!108agRtz(wS+o?@2!P>P< zAkN6wB6<-O_L)3R8ic=o4)al`*s#eG)lcd*VVl`cv(Ql$t%6^y95P4beoXNtd)_yd zRu6=GD>ZdZc%0*C6?fSUQI~bAKht$kH_#Q6+td@QB^zdA=%^1SS9ul2x$zZ>m{^+Q z{b62yMw_W~r5HW=&cyxK1NhL~_w|ZL*9%D}v_u_3Gc zrqioeENB5=%M-*nZ^RaE{vDB|gV(S`abB;@sPLz?atYnnQnWP2O)bx7t&G1%44+2V z=;TcmKk&x3cg#`S4De(fK#iRT=XE)~nburL_fF0=JJF{`r!nq*fm2VA>&%DNk823@ z$QGpknbeJ1ABmDl4f6WCh&b}yPK;2~C_UI7f4VqGb=RtFCJ?+&;JH+`zhNg9vC3zG zMAUXTg_}E)uP#WvlMBeunsbEObz|b&2d`x1IXg)f@<^{ed6t(|(5mOm?^!cgw_V&V zHDw;=e5JN@MZjw6L_OIjE+ulN=^}Rm)I9Z7a{2`e_`Yz<7o)gYdJH7|(U(jg{D8&Q z>b2ZKL^8tPvbqU!d*v1tRsemeTSX-+hlFIiOr64>w7hJRUC6Yfv}ak zbI^U>8O4XdcMTV>Mx0MFq3et(+u5H&U*-QIhN*oOj|!NM?@wtKme%Pv`p{}!IDZ)- z!s~=sA^doX;h8~M&Cy#7E?zX#dk6kd@v*ha-g1AqgaFsw$pjHUwTG&QA0-m@mIMD1 z9}S~xLM(Z^ww6WdJH$}>TE@KGlaZmfAX zE$Y$&qiJTf;DZ4di-w3dZ!geF#MQ*5osBUz_Et{Dl~SF{vA}yb{igC}LSoc?3=x$t z($%WDL^|tDL>9`951q+_8>cf|m?e_K1_ocJ`T=rrU+)VT+rq5~$gBwZVTyP%F+Ay9 z_GO4e!3O=8?SVOou|qD9*>{syJIL7NXJn#Ar6S4aBrkNBbBh2clPJx&ym{xZ))?m2 z9yCLU7IS&Sd@^Ab)yhLjHC{Ba;1AxcH@z&R%sh z1R+0&yqU9lY&(&t5Y_mDq;OzMX#z$wCBZ0-;KkNp74lNdlQLX4w3DvB=iA$4(rIBw zPmNu8^5>6}*+{RxAjj<=cVg5cn(X`{jRP1VMmM!@{knIPS-IfQzJsU=79VtSnpvd5 zBA7IJ;>K!-mle{F*_-+AZj&F!HsPD2IjZv{2l6(;tYzP5x`r0FUk5m!Qn+WCYL|D-WBd4RXOy;`Avl_q4A#BiE z0FTu@M;6YCcso+myy@%U*x2mctz77QW_Yfc!2ZcjmRJm048nG^%z7cEw;up3 zYt66PR)5rB_fjQjeG!82>WMuo@_hFO%PPl-58fCJLVg1GzGJ6u;bSbT^%_XHG*Do) zB=tsUp$;LqM<;}1DvOsebzFQMHnl9#0^oyHym_M%sHATTX?kDiAOCNNY-$@aSAs5+ ze)}8bGiUG~R|YVXkS_TJjJ>vOT;T?BsWb0>bqhlPldL<^bh!T=C8N72(}f=|V)wo35t zSmcl5q^vE5QcQkW#^&Z#c-IkE0SC*N9_|6WokuxlyA=Op0bZUbRsU#)eKW& zUgm+BWP+dtXw1Sr6dhzFum`#<;+F3e@$-g2Q^|2jL0NPd%skDWR&)5uepGGVg+pQh zH+$%ii%0pMfHcz=jJerHhy4||q*yDWrqx)eI=9;?;MHm7%I$ARSLl?_w6qdtQ-5Z` zM8s!~?q~osw6G3+W$fx!DDRbb=@MU*M8dq5(erc(*jbB}EwDnc+Bg|VBzda)16j40`s|*4}%AMj!ov9y~dOH6l2R< z3r&?g`s5J$A%OMI&x9iebI)z)Hx2en;O-*kqXi?BZAH2G89J`|Sg9Lz>ThtTi4k_l zXVuC5gN8(X1KCoOY>sDhU8-gg_8QofMcIUZn=p@ap&} z3p?Jhw=-!8#qM}jqsHNx`k&RaQk_SQn#j6zpYbMsY(U^#>gXU49 zLj`ML=kA^@SV~rFP+~kF%i`P8ZGye<-Tb7BfXWbkWLU7heR5FK$>$@F(V0$0wk7=g zqa%Gz`xbK>(oG6xH%@xD!zh1&*Fww6=(<#`?@?N^(X0qrsVqAT;jAX6bW^B&UlNwL zllkGNxazOuy7HjzqbTndU&x2g0tOo3#g~_1`(wji6AEO7;yaRZr4R7KjRqP8m6p11 zNm-#jhXa_4&sAWa2kNIRN04TVz-SX^zZ_PrTA#x~i~YJJ!Nca#&Q{9rGIG4@+w=BAmKB?;Z`Ah_!`R5WR-Kd@+yoAAruw zjT%MNE)UOFgp~@^r@Gr4X_ol!r-){SEb!fQHuR9n>GJZCPgjn(%E@-JG#RkbIchv{ zbg4C7kPwQRkEHIiZ3QfK+=;?x-7i@7uU(?`)U*z2OaX)tJ5Cb5KPu<;*J`}`Z(VgS z-ZwhdcD}=Jmg3)KIXHbMy|%alx)=kW(2avAtDcX4r>AmIKECht}D zIzhOgr#?%?an`W~Ffi2R@kS$G2DoSZOS7Fm zq2`6K9dY8M)P_x?KDk&v#APN0tWPe0e+TVRawA@g6Z*-$`vIup34k*8ol=Y)^vq53GKfg@!d=EC3@|sw%wW7uofU~*m9)SRu)xOVejmb2= ziYOo8K>%*YPdBXUbscQ|>p0g^q0-`0^TSLV`>Q+@b^{3%inY5ZtgJ}NzCKG@=w&`1 zk^>et+EeGS+hE>?oW)}rdoA3#mNFSHg^KEeM3bYQJ{S+`QkT}_ZI-G#kg3Y&8UMgFDvijy0ivGxu%uLKIJzv@d z3E#zBbdD%hh($YKeZ)J%{jk78?Vnd_yN$<+QHEA_igFu=1lf^9Aycv&Nl(gT5=zrl z(xqJ}t;Nv@^>Zq9Ua~WXXTqC(H>I0$;bnRjVu+aMv*#qH!tUOqtnuRycQ_oQy*#q- z36%iG;=VnwyBC=}H7xgzdi5M!t=;ctH}d;+de8u?$lv^<#`{*;VUMdq4;41RnxnWk zx0ZQ$b0FL&T#HCUmpDDs4R_AvxfbhrnPk|JJcu}DIOeg~lH}js)VLo*Ew266<3D^O zGI&M7i_A+`LuE*9V4b^setA(_?`Tg$>%QFWC;$^-Bho!azzsl_YqxCtXe(vMxz*KX z{uO34z{b)q!ra>XXLtNW$l%+sJwx-?@rXpFd-fyoQs%i@?0O3~-SaxW8wgTfJhB-5 z#2CC%yD>()t`r>nE98I+Qa}rC|JAH|)$zVl>w*pV{!#LXG#LteV4r>Mses+EX&SQT zR@V*P*4UyZ-3@wZt4ee{j{w;+r-cN!v?8iwsM(Y+a}dg^H~B=4BB^?WqL_zZ0AMSc zls9*iv#!JGqg(C4qk94bXFpTA$k?JF{6kD12%v3>M*HKy{O#m)Jnesw-odiJaK1DqgBrvk7uhWk+Za>d>PcRDG5 z^%XoAaW97X>#Q*KMBC7#6EZT_V%G9FH%(MjTyzBS`d+nhB|o-2QC2Sa@CqUe>T7QC#T zBHq^#R$pfyX*HR9o1H{VR~UBcNU1}F+k86W#H`xyUVX{}@kuRTX)j-qUJ+=XVF*Ix z2Ol@&!R+wp7a8YE`t%4=B$xy)3mbO2(LL4V4T3%_bH3S}qz(5>80!qKtcw7b7mV|l z71BB7Fh#JD0kw)1cYa;$c;wQ_HTp{31N2gk8QmLUiSUWTgIo}GJRAhU7~l&kJS_jh+Dq_)h=yAFvs#>y$V0 zg||}r;Xzdf5aKE5*%(9N|PL%NK?@w7ehAhQXTpQ=kr5C8S@jRr)J0G&8LX4W&J1xOV8#@YBQg z*Q6rWIOUaP=4w@u{9LisVr&{}Fb2~BtRTRsi-bZAC76g>rHe2JFK+tcf9!pqo9*l?x3eQVY}JV*`d z=_M(C%)%2gEy??|JsXoncHWFi6TvR~E`(d07gQ>4UEk5XH(})fK>hNCR5007>c2S; zN-^NVRe50RJ{(BHf~^oQ8qv)|=TiAKJ{$SGUP%IfJvD>cssrfSm~nT;eT{i}hMZ%6W-V=I z2F5Hjf%!1v4>j7hWjWDhrSyFwJpIQjul1J#T@y;rl6XPBBspa5OKdgGZw`NAtNyk3 zg7~~n`UNjUfY63V4)`5pwRsw$h%#$?nzhyYucHSYKYhfREudn?)gm|l85bjA)zN6c zgT5i$7HildhO`e>jQTY+A$Rn5W~`4Bplfy&OjS!%CB(Q_g0v=Y?Y*IUO8Q5b+u*(yK)$L zsvYIr$)rf+N%oCBsybw0K~3wt-!c|$#N==e&?ZX|I=t5jfT|jeQ%c2%r;N}zW?ipJ(1x5d z+R6v&IDau&snygX*2WFSt-urT%@KqWhjQ-5;*xCQiE=YEOoLuuH#`=7lQI*n+A1LoIetaZY;*Q*BRz0-GAE-u#ghPo@2m@o6LwD9)n#QeZQc=M?5azeKCginB3W>-CN zpiw!}{l}@D(c*IHSVH-EO7x=*j?=Thc!YfVI`7D8TAyu!Z_D4F7IQ;u9K?2L{dn4m zVQmmR)YpNh+k>-8HhMzl5k<9n)YzwOJKb?+6B80;)lTcx223X6o0Iq;2B?iKTdV1* zKK5tqbH@DKEIX>(bCiie7h8Zo$sX;o${BQvCW!h>ZO|lIm^OIAT6+9idjPR=keZ1m zZ+1&|a@{&+-ih9S*Da-D&IMNAF!vXldGnY0(e$Ghf$dHe%bgf@wu4n+#)m&Dtcl&} zLOEbimvih7Z{WdqU8_#-1T^jdzTaXjV0Vu-xVsg(rNp{yie?q1FKX?OKw!UA)V!J5 zK}8&$!AH1QXfwD%c@L9vNL@oCmgM0F=r$GVKi?g)vVycSmYyWPJus1frx|)z-u`B2 z^?F)7-0nQnsPxkwpeXnFaIf?n17cn(xM((^rtv zxLusSm0w2pE(R{$^gwxpthh;3hVwW^Y+#3NWpqkwM=gxgg9f;V5~^iggxyrzULf;D4GWU?1q9nAIEkn9zBl?fkBAQjw&aLCq(H?!9CU?Nxc$1!SSt0p`g^aSbD_K&GvIAJrC9f7yFP8x$rw5 zew;CyF79R*XRyKvJV&{?Bw9W_M5Exe=7qSuu%r{9vs%6Mf;#mxwOR@*eV6<={+g(E zO|T1jJLJ_-p7rQFENH_HaN=Beh@b27&u=o6GcA^>b{uA?;(+{B6Hj%B?Qo7*ElSAY zY*e#57!5c3$wUOaWMs>IE`H&Pb}_K%rcmL0~Fv;eaHb~KcP4KTE+4ZeOQC>t;A z9Nf*eIs!Z4@(b|YWyZ|rH1bXi%S^urbk<)yp@rR+17r{b^|!*~})eHq$;^ChV>IU4m3pU_;-nTRej9D}%J|RaGs` z6RGQO*t2<@%!OTIsng9pZ^4uZ1M{Z7lx%a?FQxNI41AfUw7Rxei5So73zIl8MR_x? zeWmQzCp4#7Ha1om?W+D7YSS%9TvOCgdAWYteqyn9xJ+<4Z}ZowD6p8OdG^R4KtbkF znVH~Nc=!h=`;xM}*QQ9e9(C?G6`wiWsgm+rear3M2^wTmbMD1B2N#IQm)Vfl-7$3? z3S%W7xFB_AI__yjm;14?lbL8n{NHXK`I^l~f;mrtBX;@^mV#XGeuYc-z?SEICG1v$ z@XQ7ID@qhzao;d@x!}#p3YEGYNsr3d&-Xy-SZ{ty+8!Z<)|4vPX6A6dT)jO0Zx;EMP0@ z>QyK6?PUWPaanO~4w9V}7oFS9$0*P!?y-o#y$tbofMkT>E3J9Tv*W@WOJY4<$r$s? z_bLNRn4$;vJ%2t9`wJS1x`FL745QXc$Hn911^It7TNArprIi{|P&3vi8R;&k^FBOr6fMcY}%HVl7?x(xQbvUHH(nJ(W zK)h(Z+)bw$ktEy%^4G7@$^Gj{c~wM$RM&^fv_xxMYD|aNA$5jo_{anw?IN$8^viqq zfNKx`3}ukuDkj`iPIs8I%5s>7Qg7xW0&@!@0}`r}LU|GdUi`j`cRgNIM zEGxqW0RLcP`{#qJ`>NPyS39_}{cO9jvXOD?VPAJo<5dl|$J;0-!h`N;oSSU52C?_= zcx08VD=wv?C2qg6HYQ5I&>cExMm-oO?Oe{bhg}`n7N*8IY5WWIZWvYq&M`3P)fr~e z5utc^Osaa55r9cmA0Ep1nKg2(t=Hgqc!-^*wq5i?iO>^?RJfxMg(TS^n%v$84D zAYH!+IB9$}*ICoTFW+)roIr zVug-6_L*71T`}iri`A&XxN>QYBL}24e-`Ga>7#HS>bkYAPpoa_H|t`a#tk6w*gq3j zr&9BjlT13;fvQ-yW)Abumtz;BYq??_YS;7h+}N{CGgVrwTAx1KDAjzZdD5&S+~HJL zuGv$5b0QY93{QjFw2KK4drR8hk1;q>}CDFHsf@}Q#p6Y8`6M@5lo zY@hREi)NHCTx@KY+D@Rdj5zW#<8-g4&C=xu26H7Jz6=ywDk?l`T=rolyIk`opi}K; z02SY(bK|EJiBOQHd1&Ci$2~mJye|?*w;^z(QI#jkraryOBkO9=ws3!g;rrB-DfknL5>J*~^ZX-_-npv=| znn0eE`kL>Ikrq*TYvCWajM}(BHoi5j$M+ssFoWh?VaZ3H;9h`Tp&!L5C-pP zFjTy%aC5Tu?f1a`fdui5a9Gi1{G?}afjH&5T5bYN55VVGoni#RmQQdh#cZ z*Nx=ciN<&WvMVQg(zz7D33>+rrEW%>y@ao>jm&IfL{oMwE2EXEaYRn-Xlgm3XxL=` z@L2@wF&zm1k?MHnB9XS;mR0C%ITp}v^$HLx8RJ~2F+G2$W%P`)>1Gd#WBXSyfbPBrd1LDxymu9>1x&5dQzO?8h98Ybc9Z+u3CJ zytVMcQHvY-3HN4I&5v!E=}nzNP(YUGH;#FaONnFg#fN=1xepKQx@x~ueAI{dR#6NF zU@rv6Arz60!(UA2=>SX%v^|Jr0cZNk7v$UgpL9lY`i&z!Krc9tCUE=O7 z%ibq9hmC>eeRCU4NhMFdqimKA-`-eUEZNijdECkrQkGAvPkI*FV}XZ=ubpP?Kx`kK zNu}o**SNz4dT(-E3_6If2ScOZ#XpR9qgA{7?!XpkeKI@Ak_sE!zijhpFx)A6TU%S_ zSQZs{h0e0bY-|TYHc0o>mC^i)C`uP7-`2LfJ5E|l^LGW z%l}^Kqw^PZW!%PG3z`Ti?8LLm8oa%A`&QRRoZ|oYzYM?mR5bPv5jB8*a0-oou6Sn$Md)wXOMBI@&FQvhKle!R`pBdR zBl!t;Qq+GgTy*=^?Y^vx{GWcTk!?|26w6}QCd&w+00NhQ%;)*o^+%8ef0Wk4_%3{$ zsC_?uL#;dXyHMDH-g}vgewKlz@9HPSaXL?tJp9*pSrJd|4x;mjC#Ug(ZmY9aYWt;! z$``)(WM^j9|AcxC50A?_;x-Q{ntT^n!$WfO^Vc39M+bC#TH12sNiQ$&y9&Bv_n`M8 zr2z^4pMT~)7utcJKahP-jZNHrFF&faHmIEV-}&mH)M~{YqIoaTpN%UOxI``Wk zu(2tP*(RQ-_(=(~GRmIa5x3PN z%ZLAqF21QM4&?2YQ_Qyi-a04#C4aX@bsOG))>k2*WAJCj$g;|;KPO;qUrcqP?nmQg z!jq3ZV*`(fDM0fQ@$u7D0v^M3^OW@WXB0F0;?Mtnq`%@_ptBr}s%~LQuBiF0RL$GU zMm>EILwxQx|C3ZVc<5{Kes53BYxSAbCwjo_SY0_df|y;`Eyx=6AI~S#9?I-t{Y;9!Ke}dWA_N(MvpgEIfLEQZ1Y`u{z7rGu*6K(ky`cfT@b3 zBXMr;S_Ex#S!i92rg@ejNHI&yOs$t@sXE|Kmd<~47NDPx@19?NkCDSIlwfgq~+CGN+WOn~J#*b^=+f?>J9y$MZ-2o=&!+xRa?Uy1F3Bfy3MZpF<*am&K?1 z;S`-2H7*go98GmC$8okVoReQCgT8*}Rtfx-@B@ak9D4naaxK}h_;47kf3vK&DL?L_ zNls{K13bw0bqgW@;4unZ}XK zgGm4GtK1~=3#NfNr1^Ktg#0_L4Rvi3r;y5>mEziZQYTrA6i zB(p;(lRr3zg8nMJzLiSTT`*4n;T>YSNZ=LoIe9A2Pkmbldjj%?=w^&{czV*#3@g2d ze7PcQ*=m`0#gUbvQ`0R)ihbj)o%H3&RO};PuWW#$)^?R4G~_VId%h~MiH4XQf0P@~ zKYct7&bOWAlmF$e9DTa^9{fA~d}BXpA34Xs8|MNqFC826p0G+e8JwpXls)JcJg9eF zF+{a|zkcpFE^=K}S#D@|+f9s#a}keb`xw;JLt`?91HK1!WaSnM+uNMZe$y&0IsuKY zzUtVV<$x1EW_}s1#UmWy8Z#b+K_QHdnW4;Ln560qF;K4)HmE%;$PeAI0>BKG{}!M} zw1i3@v+4*Q>33Y*n933_B{3#e#g_66lW@}5&(DNBcX-L*f8@2HgP74jnZhX?Y^z1< z4&usW%V4?P89Y(s*p9caNK9@)HI0egGaSkZ;*cuI0PALrthYL@v`jX(Ab;FnJVo%b z-*C4(=|CKBEX1(P-Bu4cRR7yFZb6F4*fmyW$$tb~v(Fhuu2Pk@GTnJn)&6o>t_GcL*-hs5-JU^oi0T~&lqR(qMmaLR?L;57U%K!{yl#Lx;yF}J@tpiJxVMr}+5$i} z!*Y@{>@#4X_KqJ&MUtsEEdJ9i%O-CDt2gOZ@5T_X*XYS3MrKpSL;Lga{y)AuOV9sB z^64FL}5?NC5Ox`3*`Q_^PwXYe%4)oI-oeFLZ*z8S!Yxl z_gB7ELux8uTIv+e-e0_AjCt1DyU1}o2sb1j>F2ugu+~k-$EbgM<#3JP9%C*YvljnJ z*tptW;aus6n}w&ZmlfO^xD5O#g=x#&3_lU)gcaB8*K3q@Y{r^CWaqRl&8Qb!@@&)U z>?z!1B4_=AmVc4p&kC{I^gqxwCFiKtz{yVMoMciHydEQf;+)#L30jLse+}|j9kNE3 ztI+D|IxFvG*PEK~{Patf;;Cx5B5Z|>eJC$rqni=oKPxdPKDwzwP6n_QWf}#x^5*XQ zzo*Aaa+coYJkU`okWN*sN9AvxSX7xzRqBZBu^0Z!JT{ps3h`P#L);j1zjA%57+HB0 z@T*W?M_XTrnyb-iPKVZqfQ5(Fbte3oUMB;78z*DUW1Ehr(0V-%!UE%2B)Rvoo430h zK*NF8-d<#FD?Nnkix^6%DvxD3EOLLN+FpuM14)HJLlb|fbVe5t7~kzT4CH%NRkW6# zJmEOcneo#^^TCiv$0tN{g?;lgkM3lpixM#FC~enTE6*XcN^4B2f-eF3@QpE#ICp)K zRZ3;arx0zZgTT;P^9sQ(OVFbC_KIHi>txH>AUB?f!1N{;`!!goF~XtiAyN4OD}A*8 z*~KN6uQ@S(P!h{M5d5Q316##zS2*e47h+U9-TXGI^md}QVTIItyF9ZQp&VS^bLX)O zn%)FaNWt_MU-weV-8EEf`nkiS%HCXko-wuN1ET_$0XVmapNfAgfO{0PJ9?B4B1=8L zl;ky$+XU2YC6@Y86$?GyfmaBlpjQ!baOU>YsbZcgq1?j5`xM)m3x%Hao=Iyvg@@>{ z6j#5x{C4x4{1R}=3+g&9+NZ!h5|_;;xT}~CnMWIaSFI0Gf@y~iSSZFJ=ghv;X5H~8XyDtby-^0i( z&G(!izxQcz!?(LZ!Jz(5zG=Xpaj(5fy6ouPsJ*dl_wG?OhXu?Yz|H+r0^{9TV#cQX ztWj7ArTsTpI0znB+MD+a74~qIP?ptYfu3b$b=U&QJ2jSknzN%j6Y8t7EXGRKj>Lbc zcDt}s_s|> zt2MhMnfu`;{wU}VbOWGC8}zkZ8kP9@E8TUe`+yVty?RHfH&mrY3d z6S?|s1#7(?rC;GRPK%y8Kdi^33m*7k+F#`I8ZwVm&2)^B#9rm`(0LVPJ92 zZSBEAmM^gP{v1v^e};E7JUuJRymo|)KaIL37pIGkcp1`hef5Y>BoDXEPL=pZfPYz0J2SaijdAx;{KI68U=1n zn<${|JNxno_{Sg5xC@Tx)i+BhVFKJ8N30DU7c=H0b8_+`=JHwbr~vu=C?iMB~Ju_qW6zqtmx8!Rt9KiG6WR4`*Kqbk)fN9>7niHuAd@q30` zm7s~$PTiQDTwG&Ly?wnv6ecU*e(Rr8x()WWqVHRR$7Ces=-y(+)A-hNhbcLQ|M<}b6d0j}vGXQ+*+!H8*Kfw4wdVrp zLPm=9gH_zy=IXMWpT|}V%g}qV?8E}d6wsjC*%-7fc~ zllF3?a%n}KT`tRC9&`Nd!bFh%jj`qPK$}e2|rP}uRm8v5_RL>q0lt*KBU3wF2^5g5(4M$nS-UmJEr5@RT z#PzleCy&tAV>WON@&4&eyXz8yKJPiVq<5>%jZTc^J~e7%$nF@`__=6pAVrMqk5qj; z{25bF@F-yM0|aDWwX(jIxvNehGvkDJMF=Adlkw;Enrz>tJs1m)jc1|ZWspa|>N|cKS=?P{ELdqPS)?^AQm^Fr2AQy zM=eWwqSA`&vE@15Jp|ToNhy?8_Ww;Kt+w}^h#oy>{;4^ew2NQgn6d{{@{>`dbG07* zDkIKiulI~Zp_a|{qQ6NeCB@ikp#$mvG8*4$#W#9>Q@^aw`2R={wm+}_m(+O9rv3X> z5=+$oUj8pPb=LI1Jjws#F5C4h+u_l_X(zV8lS7mI*DM}FvT$t0?{30>D3{gq0Oo5{`<)LF*C%nq+VykUMLG~hp6%Zt%u`pL12+f6OaKM73G$KO-`&%3K>nsFlMFVnZ{ zmo(vVDsc~Jg3B_@-*@=Ol;n6Vy>%V>dojr%!Nl>yVSf?>1c+H&TySwv0Zkv59uY699{tG>h zUt!5lW&Yd#Yh~WwdZEAg)XbKDlN0al`4^YmTmI|AA;0%*K)nt1T~iCWKC@TV|39So z|I4wYy-||wK-IT^t0?|4Yax;ywF2_ka8rtpg3MHWY_GRCr&ndj}|Bw>y8Y znA|&e;E3MS^DTAVp$q)^KmDr)9elJUhDn&RsC?^ht>P{ z8UTl?H0#a2ME^w#*4p3#(hvW8c^9Je!*gl-`tpb2+LwPg@4K4!)%x%IKfp3>`5fT%dIam8_!EB< z_Z4j4fB*f@|7{?b9Jv3o-)Z+z`B#4z4lELX9Nr7uEPs2g@&Dz& z7lY%bK<~r-?e)73eg7Q&=k33D_Mmagr#Vjh=ZC)F&X;NB{{KGL1ndmG--~@drytrU z4;+o0@?Y&sG*>=HeF;bk7{R>%G%nBa+y{=z`)&UY`PuKTuQCTo%~|co|1G^*X)-8s z;w69iyMr_Nhy0J>v1@%mmeoswbNhpu&%gJBCJ=z&-&Z0AC`Xk5LyEky-O->M4LVZh j0!Gsd4b#hnCI6Y{*MGgpaj`-VXbpp>tDnm{r-UW|SG&>=