From 61cc70164a4de3ba27c61fa293f2b7b68a95f0b2 Mon Sep 17 00:00:00 2001 From: sunliang <593170460@qq.com> Date: Wed, 7 Aug 2024 15:56:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2=E6=89=80?= =?UTF-8?q?=E6=9C=89=E6=96=87=E4=BB=B6=E5=A4=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IBKLinker-Minio/.vs/IBKLinker-Minio/v17/.suo | Bin 227328 -> 363008 bytes IBKLinker-Minio/Common/MinioBusinessLogic.cs | 39 +--- .../MinioController/MinioApiController.cs | 209 ++---------------- .../MinioController/GetStoragePathModel.cs | 8 +- .../Entity/MinioController/MinioAuthority.cs | 3 - .../MinioControllerInputModel.cs | 8 +- .../MinioController/MinioFileassociation.cs | 3 - .../MinioController/MinioOperationlog.cs | 3 - .../MinioController/MinioRolePermission.cs | 3 - .../MinioController/MinioStoragePath.cs | 3 - .../Entity/MinioController/MinioUser.cs | 3 - .../MinioController/RequstStoragePath.cs | 3 - .../MinioController/SliceUploadModel.cs | 8 +- .../StandardListGenerationModel.cs | 8 +- .../Entity/MinioController/UserModel.cs | 11 +- IBKLinker-Minio/bin/Debug/SOA.ServiceHost.exe | Bin 11264 -> 0 bytes 16 files changed, 34 insertions(+), 278 deletions(-) delete mode 100644 IBKLinker-Minio/bin/Debug/SOA.ServiceHost.exe diff --git a/IBKLinker-Minio/.vs/IBKLinker-Minio/v17/.suo b/IBKLinker-Minio/.vs/IBKLinker-Minio/v17/.suo index 3dc3169ca26c4cfaa8f099edc2c027abdd76036e..b6889c4cf7f233a8fca650b97c736e8afb8e8576 100644 GIT binary patch literal 363008 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 SG!0exeI;J{V(Ed!{QO_>EBYA# delta 16499 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 diff --git a/IBKLinker-Minio/Common/MinioBusinessLogic.cs b/IBKLinker-Minio/Common/MinioBusinessLogic.cs index 0a3da8d..9eac8c6 100644 --- a/IBKLinker-Minio/Common/MinioBusinessLogic.cs +++ b/IBKLinker-Minio/Common/MinioBusinessLogic.cs @@ -1,41 +1,15 @@ -using IBKLinker_Minio.Entity; -using log4net; +using log4net; using System; using System.Collections.Generic; -using System.Linq; using System.Reflection; -using System.Text; using System.Threading.Tasks; -using System.Web.Http; using Minio; -using System.Net.PeerToPeer; using System.IO; -using System.Reactive.Linq; -using Minio.DataModel; -using System.Security.AccessControl; -using System.IO.Pipes; -using System.Net.Mime; using IBKLinker_Minio.Entity.MinioController; using SOA.Objects; using SOA.Persistent; -using System.Web.Http.Results; -using System.Runtime.InteropServices.ComTypes; -using System.Xml; -using Swashbuckle.Swagger; -using System.Runtime.ConstrainedExecution; -using System.Net.Http; -using System.Web.UI.WebControls; -using System.Runtime.Remoting.Contexts; -using System.Runtime.InteropServices; -using System.Net; -using NPOI.XSSF.UserModel; -using NPOI.SS.UserModel; -using System.Net.Http.Headers; -using NPOI.SS.Formula.Functions; -using System.Xml.Linq; -using NPOI.HPSF; using System.Configuration; -using NPOI.SS.Formula.Atp; +using IBKLinker_Minio.Controller.MinioController; namespace IBKLinker_Minio.Common { @@ -103,7 +77,6 @@ namespace IBKLinker_Minio.Common } #endregion - #region 文件夹递归查询 /// /// 文件夹递归查询 @@ -111,10 +84,10 @@ namespace IBKLinker_Minio.Common public List GetSubDirectories(int parentPk) { List subDirs = new List(); - using (IDbContext db = ObjectContainer.GetObject("db")) + + foreach (var subDir in MinioApiController.rootDirectories) { - List subDirectories = db.Query("select * from MINIO_STORAGE_PATH where UPK ='" + parentPk + "' and CLEAR_FLAG='0' and FILE_TYPE='0' ORDER BY PK").ToList();//查询子级中是否还有子级 - foreach (var subDir in subDirectories) + if (subDir.Upk == parentPk) { RequstStoragePath subDirModel = new RequstStoragePath(); subDirModel.Pk = subDir.Pk;//主键ID @@ -228,5 +201,7 @@ namespace IBKLinker_Minio.Common } } #endregion + + } } diff --git a/IBKLinker-Minio/Controller/MinioController/MinioApiController.cs b/IBKLinker-Minio/Controller/MinioController/MinioApiController.cs index af5ac67..4c253d4 100644 --- a/IBKLinker-Minio/Controller/MinioController/MinioApiController.cs +++ b/IBKLinker-Minio/Controller/MinioController/MinioApiController.cs @@ -4,45 +4,21 @@ using System; using System.Collections.Generic; using System.Linq; using System.Reflection; -using System.Text; using System.Threading.Tasks; using System.Web.Http; using Minio; -using System.Net.PeerToPeer; using System.IO; using System.Reactive.Linq; -using Minio.DataModel; -using System.Security.AccessControl; -using System.IO.Pipes; -using System.Net.Mime; using IBKLinker_Minio.Entity.MinioController; using SOA.Objects; using SOA.Persistent; -using System.Web.Http.Results; -using System.Runtime.InteropServices.ComTypes; -using System.Xml; -using Swashbuckle.Swagger; -using System.Runtime.ConstrainedExecution; using System.Net.Http; -using System.Web.UI.WebControls; -using System.Runtime.Remoting.Contexts; -using System.Runtime.InteropServices; using System.Net; using NPOI.XSSF.UserModel; -using NPOI.SS.UserModel; using System.Net.Http.Headers; -using NPOI.SS.Formula.Functions; -using System.Xml.Linq; -using NPOI.HPSF; using IBKLinker_Minio.Common; -using NPOI.POIFS.Crypt.Dsig; -using NPOI.SS.Formula.Atp; -using Org.BouncyCastle.Asn1.Pkcs; using System.Windows.Forms; -using Org.BouncyCastle.Asn1.Ocsp; using System.Data; -using System.Web.WebSockets; -using System.Security.Cryptography; namespace IBKLinker_Minio.Controller.MinioController { @@ -59,7 +35,7 @@ namespace IBKLinker_Minio.Controller.MinioController /// private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public static List SliceUploadData = new List(); - + public static List rootDirectories = new List(); #region minio权限表 /// @@ -1258,26 +1234,29 @@ namespace IBKLinker_Minio.Controller.MinioController List requstStoragePaths = new List(); using (IDbContext db = ObjectContainer.GetObject("db")) { - List rootDirectories = db.Query("select * from MINIO_STORAGE_PATH where CLEAR_FLAG='0' and FILE_TYPE='0'and FILE_LEVEL='1' ORDER BY PK").ToList();//查询根文件夹 + rootDirectories = db.Query("select * from MINIO_STORAGE_PATH where CLEAR_FLAG='0' and FILE_TYPE='0' ORDER BY PK").ToList();//查询所有文件夹 foreach (var rootDir in rootDirectories) { - RequstStoragePath rootModel = new RequstStoragePath(); - rootModel.Pk = rootDir.Pk;//主键ID - rootModel.Upk = rootDir.Upk;//父级文件夹pk - rootModel.FileName = rootDir.FileName;//文件名称 - rootModel.FilePath = rootDir.FilePath;//文件路径 - rootModel.FileType = rootDir.FileType;//文件类型 - rootModel.FileLevel = rootDir.FileLevel;//层级 - rootModel.CreatorTime = rootDir.CreatorTime;//创建时间 - rootModel.CreatorUser = rootDir.CreatorUser;//创建者 - rootModel.DownloadNum = rootDir.DownloadNum;//下载次数 - rootModel.ModifyUsers = rootDir.ModifyUsers;//修改用户 - rootModel.ModifyTime = rootDir.ModifyTime;//修改时间 - rootModel.ClearUsers = rootDir.ClearUsers;//删除用户 - rootModel.ClearTime = rootDir.ClearTime;//删除时间 - rootModel.ClearFlag = rootDir.ClearFlag;//删除标记 0未删除 1删除 - rootModel.requstStoragePaths = bb.GetSubDirectories(rootDir.Pk);//子级存进list - requstStoragePaths.Add(rootModel);//添加list + if (rootDir.Upk == 0 && rootDir.FileLevel == 1)//只要根目录文件夹 + { + RequstStoragePath rootModel = new RequstStoragePath(); + rootModel.Pk = rootDir.Pk;//主键ID + rootModel.Upk = rootDir.Upk;//父级文件夹pk + rootModel.FileName = rootDir.FileName;//文件名称 + rootModel.FilePath = rootDir.FilePath;//文件路径 + rootModel.FileType = rootDir.FileType;//文件类型 + rootModel.FileLevel = rootDir.FileLevel;//层级 + rootModel.CreatorTime = rootDir.CreatorTime;//创建时间 + rootModel.CreatorUser = rootDir.CreatorUser;//创建者 + rootModel.DownloadNum = rootDir.DownloadNum;//下载次数 + rootModel.ModifyUsers = rootDir.ModifyUsers;//修改用户 + rootModel.ModifyTime = rootDir.ModifyTime;//修改时间 + rootModel.ClearUsers = rootDir.ClearUsers;//删除用户 + rootModel.ClearTime = rootDir.ClearTime;//删除时间 + rootModel.ClearFlag = rootDir.ClearFlag;//删除标记 0未删除 1删除 + rootModel.requstStoragePaths = bb.GetSubDirectories(rootDir.Pk);//子级存进list + requstStoragePaths.Add(rootModel);//添加list + } } } request.data = requstStoragePaths; @@ -1785,149 +1764,5 @@ namespace IBKLinker_Minio.Controller.MinioController } #endregion - #region 同步关联 - [HttpPost, Route("UdpDlsync")] - public RequestEntity UdpDlsync(string master) - { - RequestEntity request = new RequestEntity();//定义返回集合 - List data = new List();//定义输出下载的list - List newdata = new List();//定义输出下载的list - List dldata = new List();//定义输出下载的list - List datan = new List(); - List mfcion = new List(); - DataTable dt = new DataTable(); - using (IDbContext db = ObjectContainer.GetObject("db")) - { - using (IDbContext filedb = ObjectContainer.GetObject("filedb")) - { - string sql = ""; - data = db.Query("select * from minio_storage_path where upk='" + master + "' order by CREATOR_TIME asc").ToList(); - foreach (var item in data) - { - bool Asstion = true;//定义是否执行关联 - //sql = string.Format("select g.title from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') )o where t.classpk = o.fileid))", item.FileName); - sql = string.Format("select g.title,g.username,g.createdate from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') and p.version='{1}' and ROWNUM = 1 order by p.version desc)o where t.classpk = o.fileid)) ", item.FileName, item.Version); - dt = db.Query(sql); - if (dt.Rows.Count > 0) - { - for (int i = 0; i < dt.Rows.Count; i++) - { - MinioFileassociation dc = new MinioFileassociation(); - datan = db.Query("select * from minio_storage_path where file_name='" + dt.Rows[i]["title"].ToString() + "'").ToList(); - if (datan.Count != 0) - { - - IList SelMFdata = new List(); - SelMFdata = db.Query("select * from MINIO_FILEASSOCIATION where 1=1 and (FILE_PK='" + item.Pk + "' or ASSOCIATION_FILE_PK='" + item.Pk + "')"); - if (SelMFdata.Count > 0) - { - foreach (var ca in SelMFdata) - { - if (item.Pk == ca.FilePk && datan[0].Pk == ca.AssociationFilePk) //如果当前要关联的pk 等于已有的关联pk 被关联pk 等于已有的被关联pk - { - Asstion = false; - } - if (item.Pk == ca.AssociationFilePk && datan[0].Pk == ca.FilePk) //如果当前要关联的pk 等于已有的被关联pk 被关联pk 等于已有的关联pk - { - Asstion = false; - } - } - } - if (Asstion) - { - dc.Pk = Convert.ToInt32(db.QueryScalar("select S_MINIO_FILEASSOCIATION.nextval from dual")); - dc.FilePk = item.Pk; - dc.FileName = item.FileName; - dc.CreatorUser = dt.Rows[i]["username"].ToString().Replace(" ", ""); - dc.CreatorTime = dt.Rows[i]["createdate"].ToString().ToDateTime(); - dc.FilePath = item.FilePath; - dc.FileLevel = item.FileLevel; - dc.DownloadNum = item.DownloadNum; - dc.FileType = item.FileType; - dc.Version = item.Version; - dc.AssociationFilePk = datan[0].Pk; - dc.AssociationFileName = datan[0].FileName; - dc.AssociationFilePath = datan[0].FilePath; - dc.AssociationFileType = datan[0].FileType; - dc.AssociationFileLevel = datan[0].FileLevel; - dc.AssociationDownloadNum = datan[0].DownloadNum; - dc.AssociationVersion = datan[0].Version; - mfcion.Add(dc); - } - } - } - } - } - db.Insert(mfcion); - } - - } - return request; - } - #endregion - - #region - [HttpPost, Route("UdpDlsyncFile")] - public RequestEntity UdpDlsyncFile(string master,string parentfolderid) - { - RequestEntity request = new RequestEntity();//定义返回集合 - //List data = new List();//定义输出下载的list - List newdata = new List();//定义输出下载的list - List dldata = new List();//定义输出下载的list - List datan = new List(); - List mfcion = new List(); - DataTable dt = new DataTable(); - DataTable dta = new DataTable(); - string ctime = ""; - string mtime = ""; - using (IDbContext db = ObjectContainer.GetObject("db")) - { - using (IDbContext filedb = ObjectContainer.GetObject("filedb")) - { - string sql = ""; - //data = db.Query("select * from minio_storage_path where upk='" + master + "' order by CREATOR_TIME desc").ToList(); - - //foreach (var item in data) - //{ - //sql = string.Format("select g.title from ASSETENTRY g where entryid in (select entryid2 from ASSETLINK t where entryid1 = (select t.entryid from ASSETENTRY t ,(select p.fileid from DLSYNC p where p.name = '{0}' and (p.event='add' or p.event = 'update') )o where t.classpk = o.fileid))", item.FileName); - sql = string.Format("select * from DLSYNC where parentfolderid='{0}' and (event='update' or event='add') ", parentfolderid); - dt = db.Query(sql); - string sel = string.Format("select * from minio_storage_path where pk='{0}'", master); ; - dta = db.Query(sel); - if (dt.Rows.Count > 0) - { - for (int i = 0; i < dt.Rows.Count; i++) - { - ctime = dt.Rows[i]["CREATEDATE"].ToString(); - mtime = dt.Rows[i]["MODIFIEDDATE"].ToString(); - MinioStoragePath dc = new MinioStoragePath(); - datan = db.Query("select * from minio_storage_path where file_name='" + dt.Rows[i]["NAME"].ToString() + "'").ToList(); - if (datan.Count < 1) - { - dc.Pk = Convert.ToInt32(db.QueryScalar("select s_minio_storage_path.nextval from dual")); - dc.Upk = Convert.ToInt32(master); - dc.FileName = dt.Rows[i]["NAME"].ToString(); - dc.FileType = 1; - dc.FilePath = dta.Rows[0]["FILE_PATH"].ToString()+"/"+ dt.Rows[i]["NAME"].ToString(); - dc.CreatorUser = "sunliang"; - dc.CreatorTime = ctime.ToDateTime(); - dc.DownloadNum = 0; - dc.FileLevel = Convert.ToInt32( dta.Rows[0]["FILE_LEVEL"].ToString())+1; - dc.ModifyTime = mtime.ToDateTime(); - dc.ClearFlag = "0"; - dc.Version = dt.Rows[i]["VERSION"].ToString(); - newdata.Add(dc); - } - } - } - //} - db.Insert(newdata); - } - - } - return request; - } - #endregion - } } diff --git a/IBKLinker-Minio/Entity/MinioController/GetStoragePathModel.cs b/IBKLinker-Minio/Entity/MinioController/GetStoragePathModel.cs index 06edc48..43bc543 100644 --- a/IBKLinker-Minio/Entity/MinioController/GetStoragePathModel.cs +++ b/IBKLinker-Minio/Entity/MinioController/GetStoragePathModel.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace IBKLinker_Minio.Entity.MinioController +namespace IBKLinker_Minio.Entity.MinioController { /// /// 查询minio文件文件夹路径model(包括模糊查询文件名称以及根据时间查询) diff --git a/IBKLinker-Minio/Entity/MinioController/MinioAuthority.cs b/IBKLinker-Minio/Entity/MinioController/MinioAuthority.cs index 97f31c9..48f6115 100644 --- a/IBKLinker-Minio/Entity/MinioController/MinioAuthority.cs +++ b/IBKLinker-Minio/Entity/MinioController/MinioAuthority.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; using Newtonsoft.Json; using SOA.Persistent; diff --git a/IBKLinker-Minio/Entity/MinioController/MinioControllerInputModel.cs b/IBKLinker-Minio/Entity/MinioController/MinioControllerInputModel.cs index da5a73a..d9b6139 100644 --- a/IBKLinker-Minio/Entity/MinioController/MinioControllerInputModel.cs +++ b/IBKLinker-Minio/Entity/MinioController/MinioControllerInputModel.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace IBKLinker_Minio.Entity.MinioController +namespace IBKLinker_Minio.Entity.MinioController { /// /// 文件上传前端发送model diff --git a/IBKLinker-Minio/Entity/MinioController/MinioFileassociation.cs b/IBKLinker-Minio/Entity/MinioController/MinioFileassociation.cs index 3027093..5d52d13 100644 --- a/IBKLinker-Minio/Entity/MinioController/MinioFileassociation.cs +++ b/IBKLinker-Minio/Entity/MinioController/MinioFileassociation.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; using Newtonsoft.Json; using SOA.Persistent; diff --git a/IBKLinker-Minio/Entity/MinioController/MinioOperationlog.cs b/IBKLinker-Minio/Entity/MinioController/MinioOperationlog.cs index 2117fad..a2772eb 100644 --- a/IBKLinker-Minio/Entity/MinioController/MinioOperationlog.cs +++ b/IBKLinker-Minio/Entity/MinioController/MinioOperationlog.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; using Newtonsoft.Json; using SOA.Persistent; diff --git a/IBKLinker-Minio/Entity/MinioController/MinioRolePermission.cs b/IBKLinker-Minio/Entity/MinioController/MinioRolePermission.cs index a6fdfd5..4c95393 100644 --- a/IBKLinker-Minio/Entity/MinioController/MinioRolePermission.cs +++ b/IBKLinker-Minio/Entity/MinioController/MinioRolePermission.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; using Newtonsoft.Json; using SOA.Persistent; diff --git a/IBKLinker-Minio/Entity/MinioController/MinioStoragePath.cs b/IBKLinker-Minio/Entity/MinioController/MinioStoragePath.cs index fa121c9..dab5ddd 100644 --- a/IBKLinker-Minio/Entity/MinioController/MinioStoragePath.cs +++ b/IBKLinker-Minio/Entity/MinioController/MinioStoragePath.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; using Newtonsoft.Json; using SOA.Persistent; diff --git a/IBKLinker-Minio/Entity/MinioController/MinioUser.cs b/IBKLinker-Minio/Entity/MinioController/MinioUser.cs index 00026d9..6df19da 100644 --- a/IBKLinker-Minio/Entity/MinioController/MinioUser.cs +++ b/IBKLinker-Minio/Entity/MinioController/MinioUser.cs @@ -1,8 +1,5 @@ using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; using Newtonsoft.Json; using SOA.Persistent; diff --git a/IBKLinker-Minio/Entity/MinioController/RequstStoragePath.cs b/IBKLinker-Minio/Entity/MinioController/RequstStoragePath.cs index f807dc0..9e736ee 100644 --- a/IBKLinker-Minio/Entity/MinioController/RequstStoragePath.cs +++ b/IBKLinker-Minio/Entity/MinioController/RequstStoragePath.cs @@ -2,9 +2,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace IBKLinker_Minio.Entity.MinioController { diff --git a/IBKLinker-Minio/Entity/MinioController/SliceUploadModel.cs b/IBKLinker-Minio/Entity/MinioController/SliceUploadModel.cs index adc77a3..7d823c4 100644 --- a/IBKLinker-Minio/Entity/MinioController/SliceUploadModel.cs +++ b/IBKLinker-Minio/Entity/MinioController/SliceUploadModel.cs @@ -1,10 +1,4 @@ -using SOA.Persistent; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System; namespace IBKLinker_Minio.Entity.MinioController { diff --git a/IBKLinker-Minio/Entity/MinioController/StandardListGenerationModel.cs b/IBKLinker-Minio/Entity/MinioController/StandardListGenerationModel.cs index a91b14b..3995cea 100644 --- a/IBKLinker-Minio/Entity/MinioController/StandardListGenerationModel.cs +++ b/IBKLinker-Minio/Entity/MinioController/StandardListGenerationModel.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace IBKLinker_Minio.Entity.MinioController +namespace IBKLinker_Minio.Entity.MinioController { /// /// 文件上传标准清单model diff --git a/IBKLinker-Minio/Entity/MinioController/UserModel.cs b/IBKLinker-Minio/Entity/MinioController/UserModel.cs index b036baa..039ac03 100644 --- a/IBKLinker-Minio/Entity/MinioController/UserModel.cs +++ b/IBKLinker-Minio/Entity/MinioController/UserModel.cs @@ -1,13 +1,4 @@ -using Org.BouncyCastle.Bcpg.Sig; -using SOA.Persistent; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace IBKLinker_Minio.Entity.MinioController +namespace IBKLinker_Minio.Entity.MinioController { public class UserModel : MinioUser { diff --git a/IBKLinker-Minio/bin/Debug/SOA.ServiceHost.exe b/IBKLinker-Minio/bin/Debug/SOA.ServiceHost.exe deleted file mode 100644 index 5b04961055c63c0031c61bf34bc9e78290df4637..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11264 zcmeHNeQ+Grk?%MAy|UMuT}!q>w%0N?vL&r8TYNbdwyY0(!Sa{n55Pno?T)00cXy+$By(-BmtFE)Xi_ ze*I=fyK6zrANS8)-AL2Zue)Er?tc9~=FJXVe=h}yD2V&*w~4-tCtuqo{L^3t?8M5i zCg^WtFRuEs*!|+Fp>e}bPgv%dr4`dTtyD6d^oX9e%B8eXO84#^Oc%|(o>{mseu<}g zUmwwK5uj6NF4g?jUL{4;iH$_fphR8j*Sqmd<35I)txMyfxOM}hFay3mgBx_d0(9(l zqI&sXd3r@xgbL8Rm+@mnFNZv0^<#!;0m_}*iJGeE7sAtXrc22v%DbxSWE}m3gYxsM z0Kk*JdUm5EuQaU6ShkfzN!oS{2s`Qr4=7*T@t?8uf(b#km1c0WuJyR9uI)rSs)`c* z4E*PdZBr;jZ>%NSx{PB-B&x#7GVkTOcw>;hgvzL^(n-Le1u)Tgw+fmG5T}+TVBF<_ zP{XsX1)(Jc0S7?Lz>8qZVie5=fVxOaBOY{;$>tI!FJ%CG;|ro~3tfhN5sDseUR)!T z3aY`Y!Z3(D9g>ZHji*9az5uEkGMA&|fFx33Qp4s76s1mW&U`N>V z@`m#~If-NnTFAeNf4mIJT2`@qGr-!Ds{uXDc%U=6#QN+t0491M4okeIKRefSRE@S> zN`IpErIp(3NDGQvTHk*A?N=JrP#JECR7{PvMb((Oj+=PdjX?{t1f9~#&<$)G&`Mxa zaW&qS@?_hkY=$91$c~sB7+|o*Q+2JWWL--KqYFq~U~U3N1kz?8?LT>CQL^q_BXZ+n zuYI?*PB5!lTc|EDlTn8m z+afxNff7{f%`3p>j!npTw0{-BNW5b(+#2SUkWVFB*C&%LS23C*HDzvLC2qz(h5i8L zeV~|InM{!E0@D5>988{TM8EqE%FJDSE*wOf*jICnZCt}u^rQ0@^t(#L*5R6~6N)FpSJ(wyA4SdQ8| zM2*~!-;w$jQ~v-zYGjuwpg#AKsHJM4u3TIrcsmPDVBV>regV|R8k2qvN{x|=7u%R% z<1f{m$A>#b@~ z4SmX;>kfdiY>AE8PEK^@5RjMd234e@YDA4Tsu4*u%!A;pMd=WpWVJ#o=BvXfv>XB8 zd1k479b=e0xL))g!@Qnl)wo*+6V#F;sgN2{gZCKQPGFW=KjICHZfFabm`~&8QLeJS zS!uaZBA;t{KU0SRT8;tCz~`W?F@{kWv_}}@albxeBPQV)j@0`8fV4~oLQdicGwm3> zW{2Qa3Ky@LQ=OTOnavwFcVN&H*1-bc^H8<=B+*8wc|Hz&(6Nltn9UNuRf#@v@O8!KgBhXMRW$DVQNsqp)mcKgttn#Ho%nM zNW4zsZ4wvCr%?Atg5fbx;`9~e{y>;^Do+B&V~+;o^j`rrmY`3D?+7HRDfqikl3t0O z2BkIrINDlICfs?B7#|gn1{3uC@abrnR!8oSCa5EJ2lV`w9u0=+YDnHfOVL>$q)o6h zLF2*40hd8$SW?2YB7Q&W{w#C^+L|CArspMoTaYPNL|M=Cg8jV$IxnKh@L5p45af1C zuqQz`h3*JkME$X|;Qn*)Ea=B1<(?2remn4Ju#whF%WsFZ@KM6)$ai4pY=GgbXeB{M zq-}W#?~c#J6SNb067&pRE)vuRJWNl7SwjXIk~A6oeI!Z2`0rsG3HG8xdi^=r7N*|t z5m44icxQz1RPabNNl(UK53iutXn8nHFG^2eCHC}lQHCFpUf&3t(U#yId^yB@G#XYp zUEIAZGK2G>p6&@g6zh|vz^ZyW4q6{FCjvX}4UZ`*{YBt7U{}xt{8h{b+!DVD@cHm9 z%H?z|-G+%>&_|SgX;h{A=;`3c6+uInxTQ?+Aw{8k*SMwTXc-y$(Y0>rbm$Q!NRP|X zhnIFC0%3Z}JK>|Cw=fU{4TGW32PM8T z5~Hq&z!b?XEdz|xI>35(%J3=)yCuv@xL?BSB-8*K$dLG?gwufNdx`HCjNeBuM6ah8 z=#7|0ns_TXN``ngcpNYrpQK4qh?MDJdNz79&5G{^XXum|i+z~B2Mu?E{`2s?^sv|v zd63S~4Y5ztk7=Knq{qY~@kfEr#-5(QknMvDhS?LF+GIMtU&# zefqJ)&(L2&^K0}a5vJF~RNz&>TViL?N{{#jy(uYgO3DIii~foh(}qY;G@;##L=1Eu zMXcdrY6-0rs`w5~!p=x+6t58SOtb=@*R*46(`+p2EIU)8dyMnh1P5D9W zZm|x2)zdoh^T?M(C%Dk8+$sJ6upIjtxHrUK2V55YgP2sVL)^L{uPCP!3N8e^lT^TG z5RFO2jp~``GKFPUg8p@Jsgf11M?VewUy5eMDd-Q=!^-`%L3vC$Audy%R6ZPjpK@B# zFOe`qb@X{9Ln-La`nB{1=!24SgM>M%4`eXnwgB3+ z6Yv%~7|79W^eE<{W8&lDyYv>-i#1}acvc``kkQrGL&$V&0p_kA#a%fBa(*R8XmrKcq47?F(;<`je>4pJ>pWbeWh|yx3rOheyoFb8@7W-w&ZNyME&Jb?${>k zHFAz&mNaV`1!$tJ17^Nl(66S!Y1`3@ne1LF+BwrI7$e~4d~%OjDCn}Po!P0Ebj!%m z0bR>ecRo)$b*HCnS$fGC(4BEJPlJ2AGlRM{W#n`k%#G{Zf?v*dPfYmunC=Yk9r*wh zAJ9j2D1baW1eB zmTVIoX_03MakIWzvam-h>JsTM7Yee_t2z1*luIXf8zqx8_Iy?@OrRE-! z5jTJmcjK@_vvukzn1HSWsACxpXl8K&Zdx*uXer8s4Dg9BjvF%_O>E{ z%7+ZwsG)V+wq6`5Ob;1Owdfq#((-yyvyNA^3~3g^(2wIG{U)=T;n(4QIHX%PvZYeX zXCkbl##q_XIGN_Ndv!Z!856b4BgI0cnrT&PxzUiS4(J8#gv9I$-*0rEg;dQs^BFu2 zEMsi^9a+T*tu$S!<0TEZiFQVeg5gwgcTA%Ts!mTE1Da)zYX!>ojN^n)FChO*kk*HC6F!CQt|~ee&H;T4^Mh{rl8{1x z9W!SZXqV$u3ck{D3*&vC2{xw&JkYfwp$Z={N{h3YKRlOc2jq0E1QU%CVZ`^EMaFpK zc~eCdrLUkDF?nQ5qo!4qz3)e+k}$|K9^QlQB;@na5#F>!hqOXjuS`?2smfI2Dym}p z<9|K_^A@5a`>;yhou=lIU4l0dJU^;xY56=l61{`jDc^S@r^_)R1IXUGk(Bd>EDm50 z>y|`&4GXTC*0e0`&4?qILaxS z*DWMW!9c)0H8m_-FR=vDZ9pq&V?b+M^oi&Sh%g(;Uy*WWU5n=X+&6^=eYQ5Y1VFii z#DJc;0DEOl71slLH}88*XOE7h!yPrdwP~oy8*tBCIuJh2nW|ETLrR&Pe0URfuc3{V zFwTvfEeAE$OWhjPa=MKuXnAj~vau4l?aUGU@VN^eD!U7SKj5Vv(_ic6vHdk*PMtf~ zW3cn;hnmcw`eQ{^UU+T&G@+n z{WZCVVtRSho_%?i@nY#_tT!6TbKpE;^#bNgj#XwS*=E+>XXzLa4nm5(28NhsIg+!_ z1Tw*Z>+mXZ{;EL(=9IpNKP|jl&kb2x3A-B0;W5C1tSUQ?nycdOF>jJH?Yt=&voW?2 zW7E7-@;7+y1b{7Aza}RV)Ra3izsSw;4#m&1Y3jk0?&yQ%5ey=C@*yvx2Xt(|44#gp zpYGbh1y|)<*_;^en=E6UbfyWqjhq+!!-g}Csk@Bb&opm-7v1%#Z+`TST+djB_)lCl zi1+7iN@FLllSNZ_C(Hrcg;NKc9MBCa;dXFqI1w`FW=R>taf}Ta4NnI(CWzL}m()?; zuF-3wOtRzI}l(1MBfVPk9@IQp2VV-QabRENqar#)D!F-@1^J!2!?il^9oA#d2H zibkFCXiujT(nGpnEK1VGA~Y0Wjb9HQ#Y&(RL7|2r8I2wq2c?8RozKx?6S5`_^;c&> zn?flEK1bC=c?eIgZNfvyEZ+lc5VV^?V@*1w@!kzd#C`byYMua{YdYXD^rdN;%N+uj zJuOr?UcLQjLzj1+va&w*5JWqBAj^HO(;n1gYw}(j>;w0YYil=+%37H0(X!ifhRhp> zdvEmtDb2Rk)*C`U8sMR=cHc(V>p}D_$BJ#9Uz@tzh%!fmP5hjc_H$qEKxq{9EIjuC za$LC$+mF_2w{|bem~LqVUb-G)^XSXOhCnNF#?`Gye&)eJpEYFYC~R^$N4*@Qy%)-` zGCXnnp7rnu;5=cgCgx(e1yna@<@@OUhlbVPeR9{V^4FWf|JLvo3Z{jK2GS%#Kvb2B z2?olx$TC$=C`m&}7L${Tk}N9?>ddT?NY31jf2PiyN@`5JTO_rlmQZR0!f8b$mN(&L zSJi_gni4pLOwN1}O(jqiiBKBFXC?eLhzhr#9FXM~g5VWFYzmR0Boe@)Q4-0SGwRF_ z7f>KM^V8(aYcS+YEZmTsmL`R`xoFfcMo>&qN`%lix$=OxO*)XI`LG$dyphQI^MlQWMf45GM`Gmk9~ z!R^PwX#(wm7^I$3fGErAg(9o0fP1JZA5SSO5Y{-WsjEjXdmLB?N+OaLtTz#dB?)!5 zOP%dToa2#nAi6vhjUw`iL=%URnV<@nig>u4gmZ6^%%TsXe|PiIL(4i}Jry1O^MyaE zJN;Mdqxv5o|Lh-slD#ha%(meVs{az-5(p==xCe0W$9)j@brCPDz!$`Ud#-SgEte@0 z<+wB@XP$t?>}6DVzfM@e=dVLb<6%pi*khLFHVs4LmU)vcAQusw?2830I`1_P-x?%q ziJ;`%3uXH6pG>DWZS1%l3yYvjF2B5EQ^%%!NBb3>n=Whb)UMLouf&^m`xP5IIy**2 zJ2kBnpIR57l@5Hwz#q{<*P_s2&B=|6te}fBd-{gv-n-kp*TOD*_P7kDCl=4K_{gB3 zP4jU?lIx`BIBCcRrLl0u|GkC+ya~j8+i^D&9T@B#Jous4Q^_}euWsIlW(ydfOdt)uP^8j(0UXqK&Hqn*AJx_qUTXJopb$rt$h6n?R@hSJ+5_CEs@`Q0f^G=mT7SW{@G zR_&gS81b)+k3F+Qr`27!_{#MI^?P4Do(=x;oO{CQ>T+=+d|;PX5YXp%Bi zzJ;$2>;pE=-Q4bC$aAE4$7SKkdnq$b-Zs22514m*4`zH2a4EqM` z{^YK!mX@X`F;LR92{v^QrbK*i^bBLb1T_$Yktm>!05P=g0p_S*IIb@eZ{p_i@vR$c5_t zM~>(hRfFJ{U;D<^Z6}I_G|p%EfVHa`>qT=K=ig=?2LN5o2Z#FGuWU}+4o;4=f?3kL znx}QUdE3?JfO?q2&Z|2tHH6# zwmiIhkM?Y8mi5rK?Y$CuWl$`AvJ5-*{65Q=!ZG8RZofyZn|-ZmTopZ-uybWTh~BMF z>4kKGVOO(eXG>EiR>0KM(x|&C|f~|W_NhKTJ!5ZK64K=oJ-7psf2yETp_Yi(+ X^q#Nn?(ZL->v+#K{$KF_Pz3%P>)G=I