From edda376377a57b72bf2c5dcb1bc626e6e5f929ed Mon Sep 17 00:00:00 2001 From: geh <1923421292@qq.com> Date: Thu, 20 Feb 2025 17:21:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HSSE/Technique/AwardStandardsService.cs | 83 ++++++++++- .../Technique/ConstructionStandardsService.cs | 81 +++++++++++ .../Technique/ProtectionStandardsService.cs | 85 +++++++++++ .../SafetyResponsibilitiesService.cs | 83 ++++++++++- .../HSSE/AwardStandardsController.cs | 55 +++++++ .../HSSE/ConstructionStandardsController.cs | 55 +++++++ .../HSSE/ImageRecognitionController.cs | 135 ++++++++++++++++++ .../HSSE/ProtectionStandardsController.cs | 54 +++++++ .../Controllers/HSSE/RectifyController.cs | 53 +++++++ .../HSSE/SafetyResponsibilitiesController.cs | 55 +++++++ SGGL/WebAPI/Filter/TestPermissionAttribute.cs | 10 ++ SGGL/WebAPI/WebAPI.csproj | 67 ++++----- 12 files changed, 778 insertions(+), 38 deletions(-) create mode 100644 SGGL/WebAPI/Controllers/HSSE/AwardStandardsController.cs create mode 100644 SGGL/WebAPI/Controllers/HSSE/ConstructionStandardsController.cs create mode 100644 SGGL/WebAPI/Controllers/HSSE/ImageRecognitionController.cs create mode 100644 SGGL/WebAPI/Controllers/HSSE/ProtectionStandardsController.cs create mode 100644 SGGL/WebAPI/Controllers/HSSE/RectifyController.cs create mode 100644 SGGL/WebAPI/Controllers/HSSE/SafetyResponsibilitiesController.cs diff --git a/SGGL/BLL/HSSE/Technique/AwardStandardsService.cs b/SGGL/BLL/HSSE/Technique/AwardStandardsService.cs index c00ddf7..3441ce2 100644 --- a/SGGL/BLL/HSSE/Technique/AwardStandardsService.cs +++ b/SGGL/BLL/HSSE/Technique/AwardStandardsService.cs @@ -19,7 +19,28 @@ public class AwardStandardsService e.AwardStandardsId == AwardStandardsId); } - + /// + /// 获取集合 + /// + /// + /// + public static List GetAwardStandardsList() + { + List getDataLists = (from x in Funs.DB.Technique_AwardStandards + select new AwardStandardsItem + { + AwardStandardsId = x.AwardStandardsId, + AwardStandardsCode = x.AwardStandardsCode, + AwardStandardsName = x.AwardStandardsName, + AttachUrl = x.AttachUrl, + CompileMan = x.CompileMan, + CompileDate = x.CompileDate, + IsPass = x.IsPass, + UpState = x.UpState, + Remark = x.Remark + }).ToList(); + return getDataLists; + } /// /// 添加 @@ -93,4 +114,64 @@ public class AwardStandardsService db.SubmitChanges(); } } + + public class AwardStandardsItem + { + + public string AwardStandardsId + { + get; + set; + } + + public string AwardStandardsCode + { + get; + set; + } + + public string AwardStandardsName + { + get; + set; + } + + public string AttachUrl + { + get; + set; + } + + public string CompileMan + { + get; + set; + } + + public System.Nullable CompileDate + { + get; + set; + } + + public System.Nullable IsPass + { + get; + set; + } + + public string UpState + { + get; + set; + } + + public string Remark + { + get; + set; + } + + } + } \ No newline at end of file diff --git a/SGGL/BLL/HSSE/Technique/ConstructionStandardsService.cs b/SGGL/BLL/HSSE/Technique/ConstructionStandardsService.cs index 2bc3497..5cdf7da 100644 --- a/SGGL/BLL/HSSE/Technique/ConstructionStandardsService.cs +++ b/SGGL/BLL/HSSE/Technique/ConstructionStandardsService.cs @@ -19,6 +19,28 @@ public class ConstructionStandardsService e.ConstructionStandardsId == ConstructionStandardsId); } + /// + /// 获取集合 + /// + /// + /// + public static List GetConstructionStandardsList() + { + List getDataLists = (from x in Funs.DB.Technique_ConstructionStandards + select new ConstructionStandardsItem + { + ConstructionStandardsId = x.ConstructionStandardsId, + ConstructionStandardsCode = x.ConstructionStandardsCode, + ConstructionStandardsName = x.ConstructionStandardsName, + AttachUrl = x.AttachUrl, + CompileMan = x.CompileMan, + CompileDate = x.CompileDate, + IsPass = x.IsPass, + UpState = x.UpState, + Remark = x.Remark + }).ToList(); + return getDataLists; + } /// /// 添加 @@ -93,4 +115,63 @@ public class ConstructionStandardsService db.SubmitChanges(); } } + public class ConstructionStandardsItem + { + + public string ConstructionStandardsId + { + get; + set; + } + + public string ConstructionStandardsCode + { + get; + set; + } + + public string ConstructionStandardsName + { + get; + set; + } + + public string AttachUrl + { + get; + set; + } + + public string CompileMan + { + get; + set; + } + + public System.Nullable CompileDate + { + get; + set; + } + + public System.Nullable IsPass + { + get; + set; + } + + public string UpState + { + get; + set; + } + + public string Remark + { + get; + set; + } + + } + } \ No newline at end of file diff --git a/SGGL/BLL/HSSE/Technique/ProtectionStandardsService.cs b/SGGL/BLL/HSSE/Technique/ProtectionStandardsService.cs index c15290d..d9a1479 100644 --- a/SGGL/BLL/HSSE/Technique/ProtectionStandardsService.cs +++ b/SGGL/BLL/HSSE/Technique/ProtectionStandardsService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using Model; namespace BLL; @@ -19,6 +20,29 @@ public class ProtectionStandardsService return Funs.DB.Technique_ProtectionStandards.FirstOrDefault(e => e.ProtectionStandardsId == ProtectionStandardsId); } + + /// + /// 获取集合 + /// + /// + /// + public static List GetProtectionStandardsList() + { + List getDataLists = (from x in Funs.DB.Technique_ProtectionStandards + select new ProtectionStandardsItem + { + ProtectionStandardsId = x.ProtectionStandardsId, + ProtectionStandardsCode = x.ProtectionStandardsCode, + ProtectionStandardsName = x.ProtectionStandardsName, + AttachUrl = x.AttachUrl, + CompileMan = x.CompileMan, + CompileDate = x.CompileDate, + IsPass = x.IsPass, + UpState = x.UpState, + Remark = x.Remark + }).ToList(); + return getDataLists; + } /// /// 添加 @@ -92,4 +116,65 @@ public class ProtectionStandardsService db.SubmitChanges(); } } + + + public class ProtectionStandardsItem + { + + public string ProtectionStandardsId + { + get; + set; + } + + public string ProtectionStandardsCode + { + get; + set; + } + + public string ProtectionStandardsName + { + get; + set; + } + + public string AttachUrl + { + get; + set; + } + + public string CompileMan + { + get; + set; + } + + public System.Nullable CompileDate + { + get; + set; + } + + public System.Nullable IsPass + { + get; + set; + } + + public string UpState + { + get; + set; + } + + public string Remark + { + get; + set; + } + + } + } \ No newline at end of file diff --git a/SGGL/BLL/HSSE/Technique/SafetyResponsibilitiesService.cs b/SGGL/BLL/HSSE/Technique/SafetyResponsibilitiesService.cs index 622f11c..e7c33f8 100644 --- a/SGGL/BLL/HSSE/Technique/SafetyResponsibilitiesService.cs +++ b/SGGL/BLL/HSSE/Technique/SafetyResponsibilitiesService.cs @@ -19,7 +19,28 @@ public class SafetyResponsibilitiesService e.SafetyResponsibilitiesId == SafetyResponsibilitiesId); } - + /// + /// 获取集合 + /// + /// + /// + public static List GetSafetyResponsibilitiesList() + { + List getDataLists = (from x in Funs.DB.Technique_SafetyResponsibilities + select new SafetyResponsibilitiesItem + { + SafetyResponsibilitiesId = x.SafetyResponsibilitiesId, + SafetyResponsibilitiesCode = x.SafetyResponsibilitiesCode, + SafetyResponsibilitiesName = x.SafetyResponsibilitiesName, + AttachUrl = x.AttachUrl, + CompileMan = x.CompileMan, + CompileDate = x.CompileDate, + IsPass = x.IsPass, + UpState = x.UpState, + Remark = x.Remark + }).ToList(); + return getDataLists; + } /// /// 添加专项方案 @@ -94,4 +115,64 @@ public class SafetyResponsibilitiesService db.SubmitChanges(); } } + + public class SafetyResponsibilitiesItem + { + + public string SafetyResponsibilitiesId + { + get; + set; + } + + public string SafetyResponsibilitiesCode + { + get; + set; + } + + public string SafetyResponsibilitiesName + { + get; + set; + } + + public string AttachUrl + { + get; + set; + } + + public string CompileMan + { + get; + set; + } + + public System.Nullable CompileDate + { + get; + set; + } + + public System.Nullable IsPass + { + get; + set; + } + + public string UpState + { + get; + set; + } + + public string Remark + { + get; + set; + } + + } + } \ No newline at end of file diff --git a/SGGL/WebAPI/Controllers/HSSE/AwardStandardsController.cs b/SGGL/WebAPI/Controllers/HSSE/AwardStandardsController.cs new file mode 100644 index 0000000..93c0408 --- /dev/null +++ b/SGGL/WebAPI/Controllers/HSSE/AwardStandardsController.cs @@ -0,0 +1,55 @@ +using BLL; +using System; +using System.Linq; +using System.Web.Http; + +namespace WebAPI.Controllers.HSSE +{ + public class AwardStandardsController : ApiController + { + #region 获取集合 + /// + /// 获取集合 + /// + /// + public Model.ResponeData getAwardStandardsList() + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = AwardStandardsService.GetAwardStandardsList(); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + + + #region 根据id获取 + /// + /// 根据id获取 + /// + /// + public Model.ResponeData getAwardStandardsListById(string AwardStandardsId) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = AwardStandardsService.GetAwardStandardsListById(AwardStandardsId); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/Controllers/HSSE/ConstructionStandardsController.cs b/SGGL/WebAPI/Controllers/HSSE/ConstructionStandardsController.cs new file mode 100644 index 0000000..8db5021 --- /dev/null +++ b/SGGL/WebAPI/Controllers/HSSE/ConstructionStandardsController.cs @@ -0,0 +1,55 @@ +using BLL; +using System; +using System.Linq; +using System.Web.Http; + +namespace WebAPI.Controllers.HSSE +{ + public class ConstructionStandardsController : ApiController + { + #region 获取集合 + /// + /// 获取集合 + /// + /// + public Model.ResponeData getConstructionStandardsList() + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = ConstructionStandardsService.GetConstructionStandardsList(); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + + + #region 根据id获取 + /// + /// 根据id获取 + /// + /// + public Model.ResponeData getConstructionStandardsListById(string ConstructionStandardsId) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = ConstructionStandardsService.GetConstructionStandardsListById(ConstructionStandardsId); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/Controllers/HSSE/ImageRecognitionController.cs b/SGGL/WebAPI/Controllers/HSSE/ImageRecognitionController.cs new file mode 100644 index 0000000..ea36e6d --- /dev/null +++ b/SGGL/WebAPI/Controllers/HSSE/ImageRecognitionController.cs @@ -0,0 +1,135 @@ +using System; +using System.IO; +using RestSharp; //依赖版本106.15.0 https://www.nuget.org/packages/RestSharp/106.15.0 +using Newtonsoft.Json; //https://www.nuget.org/packages/Newtonsoft.Json +using System.Web.Http; +using System.Collections.Generic; + +namespace WebAPI.Controllers.HSSE +{ + public class ImageRecognitionController : ApiController + { + const string API_KEY = "2pHOZ7ff76vYgYoIwQnTIB31"; + const string SECRET_KEY = "8q4Oa8wLi6xorfYQgUlEBqM4OOHqFXL7"; + + + [HttpPost] + public Model.ResponeData getImageContent([FromBody] ImageRequest imageRequest) + { + var responeData = new Model.ResponeData(); + + try + { + var client = new RestClient($"https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token={GetAccessToken()}"); + client.Timeout = -1; + var request = new RestRequest(Method.POST); + request.AddHeader("Content-Type", "application/json"); + string image = imageRequest.Image; + var body = $@"{{""image"":""{image}"",""image_type"":""BASE64"",""max_face_num"":30}}"; + request.AddParameter("application/json", body, ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + Console.WriteLine(response.Content); + string json = response.Content; + var responseData = JsonConvert.DeserializeObject(json); + int errorCode = responseData.error_code; + if (errorCode != 0) + { + responeData.message = responseData.error_msg; + } + else + { + int faceNum = responseData.result.face_num; + responeData.data = faceNum; + } + } + catch (Exception ex) + { + responeData.code = 0; + } + + return responeData; + + } + + /** + * 获取文件base64编码 + * @param path 文件路径 + * @return base64编码信息,不带文件头 + */ + public string GetFileContentAsBase64(string path) + { + using (FileStream filestream = new FileStream(path, FileMode.Open)) + { + byte[] arr = new byte[filestream.Length]; + filestream.Read(arr, 0, (int)filestream.Length); + string base64 = Convert.ToBase64String(arr); + return base64; + } + } + + + /** + * 使用 AK,SK 生成鉴权签名(Access Token) + * @return 鉴权签名信息(Access Token) + */ + public string GetAccessToken() + { + var client = new RestClient($"https://aip.baidubce.com/oauth/2.0/token"); + client.Timeout = -1; + var request = new RestRequest(Method.POST); + request.AddParameter("grant_type", "client_credentials"); + request.AddParameter("client_id", API_KEY); + request.AddParameter("client_secret", SECRET_KEY); + IRestResponse response = client.Execute(request); + Console.WriteLine(response.Content); + var result = JsonConvert.DeserializeObject(response.Content); + return result.access_token.ToString(); + } + + public class ImageRequest + { + public string Image { get; set; } + } + + public class Location + { + public double left { get; set; } + public double top { get; set; } + public double width { get; set; } + public double height { get; set; } + public double rotation { get; set; } + } + + public class Angle + { + public double yaw { get; set; } + public double pitch { get; set; } + public double roll { get; set; } + } + + public class Face + { + public string face_token { get; set; } + public Location location { get; set; } + public double face_probability { get; set; } + public Angle angle { get; set; } + } + + public class Result + { + public int face_num { get; set; } + public List face_list { get; set; } + } + + public class ResponseData + { + public int error_code { get; set; } + public string error_msg { get; set; } + public long log_id { get; set; } + public long timestamp { get; set; } + public int cached { get; set; } + public Result result { get; set; } + } + + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/Controllers/HSSE/ProtectionStandardsController.cs b/SGGL/WebAPI/Controllers/HSSE/ProtectionStandardsController.cs new file mode 100644 index 0000000..bbd251a --- /dev/null +++ b/SGGL/WebAPI/Controllers/HSSE/ProtectionStandardsController.cs @@ -0,0 +1,54 @@ +using BLL; +using System; +using System.Linq; +using System.Web.Http; +namespace WebAPI.Controllers.HSSE +{ + public class ProtectionStandardsController : ApiController + { + #region 获取集合 + /// + /// 获取集合 + /// + /// + public Model.ResponeData getProtectionStandardsList() + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = ProtectionStandardsService.GetProtectionStandardsList(); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + + + #region 根据id获取 + /// + /// 根据id获取 + /// + /// + public Model.ResponeData getProtectionStandardsListById(string ProtectionStandardsId) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = ProtectionStandardsService.GetProtectionStandardsListById(ProtectionStandardsId); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/Controllers/HSSE/RectifyController.cs b/SGGL/WebAPI/Controllers/HSSE/RectifyController.cs new file mode 100644 index 0000000..6455c80 --- /dev/null +++ b/SGGL/WebAPI/Controllers/HSSE/RectifyController.cs @@ -0,0 +1,53 @@ +using BLL; +using System; +using System.Linq; +using System.Web.Http; + +namespace WebAPI.Controllers.HSSE +{ + public class RectifyController : ApiController + { + #region 获取集合 + /// + /// 获取集合 + /// + /// + public Model.ResponeData getRectifyList(string RectifyName, int PageNumber, int PageSize) + { + var responeData = new Model.ResponeData(); + try + { + var query = (from x in Funs.DB.Technique_RectifyItem + join y in Funs.DB.Technique_Rectify + on x.RectifyId equals y.RectifyId + select new + { + y.RectifyId, + y.RectifyName, + x.HazardSourcePoint, + x.RiskAnalysis, + x.RiskPrevention + }).ToList(); + if (!string.IsNullOrEmpty(RectifyName)) + { + query = query.Where(x => x.RectifyName.Contains(RectifyName)).ToList(); + } + + var paginatedQuery = query + .Skip((PageNumber - 1) * PageSize) + .Take(PageSize) + .ToList(); + + responeData.data = paginatedQuery; + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/Controllers/HSSE/SafetyResponsibilitiesController.cs b/SGGL/WebAPI/Controllers/HSSE/SafetyResponsibilitiesController.cs new file mode 100644 index 0000000..edb25d8 --- /dev/null +++ b/SGGL/WebAPI/Controllers/HSSE/SafetyResponsibilitiesController.cs @@ -0,0 +1,55 @@ +using BLL; +using System; +using System.Linq; +using System.Web.Http; + +namespace WebAPI.Controllers.HSSE +{ + public class SafetyResponsibilitiesController : ApiController + { + #region 获取集合 + /// + /// 获取集合 + /// + /// + public Model.ResponeData getSafetyResponsibilitiesList() + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = SafetyResponsibilitiesService.GetSafetyResponsibilitiesList(); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + + + #region 根据id获取 + /// + /// 根据id获取 + /// + /// + public Model.ResponeData getSafetyResponsibilitiesListById(string SafetyResponsibilitiesId) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = SafetyResponsibilitiesService.GetSafetyResponsibilitiesListById(SafetyResponsibilitiesId); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/Filter/TestPermissionAttribute.cs b/SGGL/WebAPI/Filter/TestPermissionAttribute.cs index 4b80cef..86bd99e 100644 --- a/SGGL/WebAPI/Filter/TestPermissionAttribute.cs +++ b/SGGL/WebAPI/Filter/TestPermissionAttribute.cs @@ -168,6 +168,16 @@ namespace WebAPI.Filter "Environmental*SaveEnvironmentData", "Environmental*PushEnvironmentalCheckData", "Project*pushProject", + "ProtectionStandards*getProtectionStandardsList", + "ProtectionStandards*getProtectionStandardsListById", + "SafetyResponsibilities*getSafetyResponsibilitiesList", + "SafetyResponsibilities*getSafetyResponsibilitiesListById", + "ConstructionStandards*getConstructionStandardsList", + "ConstructionStandards*getConstructionStandardsListById", + "AwardStandards*getAwardStandardsList", + "AwardStandards*getAwardStandardsListById", + "Rectify*getRectifyList", + "ImageRecognition*getImageContent", }; diff --git a/SGGL/WebAPI/WebAPI.csproj b/SGGL/WebAPI/WebAPI.csproj index 56604eb..dcb217e 100644 --- a/SGGL/WebAPI/WebAPI.csproj +++ b/SGGL/WebAPI/WebAPI.csproj @@ -62,6 +62,9 @@ ..\FineUIPro\FineUIPro.dll + + ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll + ..\packages\Microsoft.Office.Interop.Excel.15.0.4795.1001\lib\net20\Microsoft.Office.Interop.Excel.dll @@ -71,8 +74,14 @@ ..\packages\Microsoft.Office.Interop.Word.15.0.4797.1004\lib\net20\Microsoft.Office.Interop.Word.dll True - - ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + + + ..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll + + + ..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll @@ -92,67 +101,47 @@ + + ..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.Helpers.dll + ..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll ..\packages\Microsoft.AspNet.WebApi.Cors.5.2.7\lib\net45\System.Web.Http.Cors.dll - - - - - - True - ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll - - - - - - - True - ..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.Helpers.dll - ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.4\lib\net45\System.Web.Http.WebHost.dll - True ..\packages\Microsoft.AspNet.Mvc.5.2.4\lib\net45\System.Web.Mvc.dll - + ..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll - True ..\packages\Microsoft.AspNet.Razor.3.2.4\lib\net45\System.Web.Razor.dll + - True ..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.dll - True ..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Deployment.dll - True ..\packages\Microsoft.AspNet.WebPages.3.2.4\lib\net45\System.Web.WebPages.Razor.dll + + + + + + + - - True - ..\packages\WebGrease.1.6.0\lib\WebGrease.dll - - - True - ..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll - - - - - ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll + + ..\packages\WebGrease.1.5.2\lib\WebGrease.dll @@ -172,10 +161,16 @@ + + + + + +