From 3e4ba93a549cabc433b14c3b950e7293a53c8d6a Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 4 Sep 2023 11:02:38 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A1.=E8=AE=BE=E5=A4=87=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E9=A1=B9=E7=9B=AE=E7=BB=B4=E6=8A=A4=202.=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=95=85=E9=9A=9C=E5=88=86=E7=B1=BB=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=203.=E8=AE=BE=E5=A4=87=E4=BF=9D=E5=85=BB=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../em/rest/DevicefaultclassController.java | 61 +++ .../DevicemaintenanceitemsController.java | 57 +++ .../em/rest/DevicerepairitemsController.java | 57 +++ .../em/service/DevicefaultclassService.java | 72 +++ .../DevicemaintenanceitemsService.java | 72 +++ .../em/service/DevicerepairitemsService.java | 72 +++ .../em/service/dto/DevicefaultclassDto.java | 83 ++++ .../dto/DevicemaintenanceitemsDto.java | 93 ++++ .../em/service/dto/DevicerepairitemsDto.java | 54 +++ .../impl/DevicefaultclassServiceImpl.java | 151 ++++++ .../DevicemaintenanceitemsServiceImpl.java | 168 +++++++ .../impl/DevicerepairitemsServiceImpl.java | 160 +++++++ .../em/wql/EM_BI_DEVICEFAULTCLASS.wql | 67 +++ .../em/wql/EM_BI_DEVICEMAINTAIN_01.wql | 82 ++++ .../em/wql/EM_BI_DEVICEREPAIRITEMS_01.wql | 72 +++ .../nl/wms/masterdata_manage/em/wql/em.xls | Bin 0 -> 277504 bytes .../em/devicefaultclass/devicefaultclass.js | 27 ++ .../em/devicefaultclass/index.vue | 362 +++++++++++++++ .../devicemaintain/devicemaintenanceitems.js | 27 ++ .../em/devicemaintain/index.vue | 436 ++++++++++++++++++ .../em/devicerepairitems/devicerepairitems.js | 27 ++ .../em/devicerepairitems/index.vue | 361 +++++++++++++++ 22 files changed, 2561 insertions(+) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicefaultclassController.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicemaintenanceitemsController.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicerepairitemsController.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicefaultclassService.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicemaintenanceitemsService.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicerepairitemsService.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicefaultclassDto.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicemaintenanceitemsDto.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicerepairitemsDto.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicefaultclassServiceImpl.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicemaintenanceitemsServiceImpl.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicerepairitemsServiceImpl.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEFAULTCLASS.wql create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEMAINTAIN_01.wql create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEREPAIRITEMS_01.wql create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/em.xls create mode 100644 mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/devicefaultclass.js create mode 100644 mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/index.vue create mode 100644 mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/devicemaintenanceitems.js create mode 100644 mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/index.vue create mode 100644 mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/devicerepairitems.js create mode 100644 mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/index.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicefaultclassController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicefaultclassController.java new file mode 100644 index 00000000..79ba8905 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicefaultclassController.java @@ -0,0 +1,61 @@ + +package org.nl.wms.masterdata_manage.em.rest; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.masterdata_manage.em.service.DevicefaultclassService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * @author Liuxy + * @date 2022-06-16 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "设备故障分类维护管理") +@RequestMapping("/api/devicefaultclass") +@Slf4j +public class DevicefaultclassController { + + private final DevicefaultclassService devicefaultclassService; + + @GetMapping + @ApiOperation("查询设备故障分类维护") + //@PreAuthorize("@el.check('devicefaultclass:list')") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicefaultclassService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping + @ApiOperation("新增设备故障分类维护") + //@PreAuthorize("@el.check('devicefaultclass:add')") + public ResponseEntity create(@RequestBody JSONObject whereJson) { + devicefaultclassService.create(whereJson); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @ApiOperation("修改设备故障分类维护") + //@PreAuthorize("@el.check('devicefaultclass:edit')") + public ResponseEntity update(@RequestBody JSONObject whereJson) { + devicefaultclassService.update(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @ApiOperation("删除设备故障分类维护") + //@PreAuthorize("@el.check('devicefaultclass:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + devicefaultclassService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicemaintenanceitemsController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicemaintenanceitemsController.java new file mode 100644 index 00000000..44428748 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicemaintenanceitemsController.java @@ -0,0 +1,57 @@ + +package org.nl.wms.masterdata_manage.em.rest; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.masterdata_manage.em.service.DevicemaintenanceitemsService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * @author Liuxy + * @date 2022-06-16 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "设备保养项目维护管理") +@RequestMapping("/api/devicemaintenanceitems") +@Slf4j +public class DevicemaintenanceitemsController { + + private final DevicemaintenanceitemsService devicemaintenanceitemsService; + + @GetMapping + @ApiOperation("查询设备保养项目维护") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicemaintenanceitemsService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping + @ApiOperation("新增设备保养项目维护") + public ResponseEntity create(@RequestBody JSONObject whereJson) { + devicemaintenanceitemsService.create(whereJson); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @ApiOperation("修改设备保养项目维护") + public ResponseEntity update(@RequestBody JSONObject whereJson) { + devicemaintenanceitemsService.update(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @ApiOperation("删除设备保养项目维护") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + devicemaintenanceitemsService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicerepairitemsController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicerepairitemsController.java new file mode 100644 index 00000000..330cfedf --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/rest/DevicerepairitemsController.java @@ -0,0 +1,57 @@ + +package org.nl.wms.masterdata_manage.em.rest; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.masterdata_manage.em.service.DevicerepairitemsService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * @author Liuxy + * @date 2022-06-16 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "设备维修项目维护管理") +@RequestMapping("/api/devicerepairitems") +@Slf4j +public class DevicerepairitemsController { + + private final DevicerepairitemsService devicerepairitemsService; + + @GetMapping + @ApiOperation("查询设备维修项目维护") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicerepairitemsService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping + @ApiOperation("新增设备维修项目维护") + public ResponseEntity create(@RequestBody JSONObject whereJson) { + devicerepairitemsService.create(whereJson); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @ApiOperation("修改设备维修项目维护") + public ResponseEntity update(@RequestBody JSONObject whereJson) { + devicerepairitemsService.update(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @ApiOperation("删除设备维修项目维护") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + devicerepairitemsService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicefaultclassService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicefaultclassService.java new file mode 100644 index 00000000..98d45e59 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicefaultclassService.java @@ -0,0 +1,72 @@ + +package org.nl.wms.masterdata_manage.em.service; + +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.masterdata_manage.em.service.dto.DevicefaultclassDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** + * @author Liuxy + * @description 服务接口 + * @date 2022-06-16 + **/ +public interface DevicefaultclassService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * + * @param device_faultclass_id ID + * @return Devicefaultclass + */ + DevicefaultclassDto findById(Long device_faultclass_id); + + /** + * 根据编码查询 + * + * @param code code + * @return Devicefaultclass + */ + DevicefaultclassDto findByCode(String code); + + + /** + * 创建 + * + * @param whereJson / + */ + void create(JSONObject whereJson); + + /** + * 编辑 + * + * @param whereJson / + */ + void update(JSONObject whereJson); + + /** + * 多选删除 + * + * @param ids / + */ + void deleteAll(Long[] ids); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicemaintenanceitemsService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicemaintenanceitemsService.java new file mode 100644 index 00000000..7c916b94 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicemaintenanceitemsService.java @@ -0,0 +1,72 @@ + +package org.nl.wms.masterdata_manage.em.service; + +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.masterdata_manage.em.service.dto.DevicemaintenanceitemsDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** + * @author Liuxy + * @description 服务接口 + * @date 2022-06-16 + **/ +public interface DevicemaintenanceitemsService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * + * @param maint_item_id ID + * @return Devicemaintenanceitems + */ + DevicemaintenanceitemsDto findById(Long maint_item_id); + + /** + * 根据编码查询 + * + * @param code code + * @return Devicemaintenanceitems + */ + DevicemaintenanceitemsDto findByCode(String code); + + + /** + * 创建 + * + * @param whereJson / + */ + void create(JSONObject whereJson); + + /** + * 编辑 + * + * @param whereJson / + */ + void update(JSONObject whereJson); + + /** + * 多选删除 + * + * @param ids / + */ + void deleteAll(Long[] ids); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicerepairitemsService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicerepairitemsService.java new file mode 100644 index 00000000..06e776b3 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/DevicerepairitemsService.java @@ -0,0 +1,72 @@ + +package org.nl.wms.masterdata_manage.em.service; + +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.masterdata_manage.em.service.dto.DevicerepairitemsDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** + * @author Liuxy + * @description 服务接口 + * @date 2022-06-16 + **/ +public interface DevicerepairitemsService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * + * @param repair_item_id ID + * @return Devicerepairitems + */ + DevicerepairitemsDto findById(Long repair_item_id); + + /** + * 根据编码查询 + * + * @param code code + * @return Devicerepairitems + */ + DevicerepairitemsDto findByCode(String code); + + + /** + * 创建 + * + * @param whereJson / + */ + void create(JSONObject whereJson); + + /** + * 编辑 + * + * @param whereJson / + */ + void update(JSONObject whereJson); + + /** + * 多选删除 + * + * @param ids / + */ + void deleteAll(Long[] ids); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicefaultclassDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicefaultclassDto.java new file mode 100644 index 00000000..84c98701 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicefaultclassDto.java @@ -0,0 +1,83 @@ +package org.nl.wms.masterdata_manage.em.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Liuxy + * @description / + * @date 2022-06-16 + **/ +@Data +public class DevicefaultclassDto implements Serializable { + + /** 设备故障分类标识 */ + /** + * 防止精度丢失 + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long device_faultclass_id; + + /** + * 设备故障分类编码 + */ + private String device_faultclass_code; + + /** + * 设备故障分类名称 + */ + private String device_faultclass_name; + + /** + * 设备分类标识 + */ + private Long material_type_id; + + /** + * 解决措施 + */ + private String solutions; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 + */ + private Long create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private Long update_optid; + + /** + * 修改人姓名 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 是否删除 + */ + private String is_delete; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicemaintenanceitemsDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicemaintenanceitemsDto.java new file mode 100644 index 00000000..8cba0b52 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicemaintenanceitemsDto.java @@ -0,0 +1,93 @@ +package org.nl.wms.masterdata_manage.em.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Liuxy + * @description / + * @date 2022-06-16 + **/ +@Data +public class DevicemaintenanceitemsDto implements Serializable { + + /** 设备保养项目标识 */ + /** + * 防止精度丢失 + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long maint_item_id; + + /** + * 设备保养项目编码 + */ + private String maint_item_code; + + /** + * 设备保养项目名称 + */ + private String maint_item_name; + + /** + * 保养等级 + */ + private String item_level; + + /** + * 保养内容 + */ + private String contents; + + /** + * 保养要求 + */ + private String requirement; + + /** + * 验收标准 + */ + private String acceptancecriteria; + + /** + * 创建人 + */ + private Long create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private Long update_optid; + + /** + * 修改人姓名 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 是否删除 + */ + private String is_delete; + + /** + * 备注 + */ + private String remark; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicerepairitemsDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicerepairitemsDto.java new file mode 100644 index 00000000..75da3534 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/dto/DevicerepairitemsDto.java @@ -0,0 +1,54 @@ +package org.nl.wms.masterdata_manage.em.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +/** +* @description / +* @author Liuxy +* @date 2022-06-16 +**/ +@Data +public class DevicerepairitemsDto implements Serializable { + + /** 设备维修项目标识 */ + /** 防止精度丢失 */ + @JsonSerialize(using= ToStringSerializer.class) + private Long repair_item_id; + + /** 设备维修项目编码 */ + private String repair_item_code; + + /** 设备维修项目名称 */ + private String repair_item_name; + + /** 维修要求 */ + private String requirement; + + /** 创建人 */ + private Long create_id; + + /** 创建人姓名 */ + private String create_name; + + /** 创建时间 */ + private String create_time; + + /** 修改人 */ + private Long update_optid; + + /** 修改人姓名 */ + private String update_optname; + + /** 修改时间 */ + private String update_time; + + /** 是否删除 */ + private String is_delete; + + /** 备注 */ + private String remark; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicefaultclassServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicefaultclassServiceImpl.java new file mode 100644 index 00000000..bf432109 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicefaultclassServiceImpl.java @@ -0,0 +1,151 @@ + +package org.nl.wms.masterdata_manage.em.service.impl; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.masterdata_manage.em.service.DevicefaultclassService; +import org.nl.wms.masterdata_manage.em.service.dto.DevicefaultclassDto; +import org.nl.wms.masterdata_manage.备份master.service.ClassstandardService; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Liuxy + * @description 服务实现 + * @date 2022-06-16 + **/ +@Service +@RequiredArgsConstructor +@Slf4j +public class DevicefaultclassServiceImpl implements DevicefaultclassService { + private final ClassstandardService classstandardService; + + @Override + public Map queryAll(Map whereJson, Pageable page) { + String device_faultclass_code = MapUtil.getStr(whereJson, "device_faultclass_code"); + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String class_idStr = (String) whereJson.get("class_idStr"); + + HashMap map = new HashMap<>(); + map.put("flag", "1"); + if (ObjectUtil.isNotEmpty(device_faultclass_code)) map.put("device_faultclass_code","%"+device_faultclass_code+"%"); + //处理物料当前节点的所有子节点 + if (!StrUtil.isEmpty(material_type_id)) { + map.put("material_type_id", material_type_id); + String classIds = classstandardService.getChildIdStr(material_type_id); + map.put("classIds", classIds); + } else if (ObjectUtil.isNotEmpty(class_idStr)) { + String classIds = classstandardService.getAllChildIdStr(class_idStr); + map.put("classIds", classIds); + } + JSONObject json = WQL.getWO("EM_BI_DEVICEFAULTCLASS").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.device_faultclass_code DESC"); + return json; + } + + @Override + public List queryAll(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicefaultclass"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(DevicefaultclassDto.class); + return null; + } + + @Override + public DevicefaultclassDto findById(Long device_faultclass_id) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicefaultclass"); + JSONObject json = wo.query("device_faultclass_id = '" + device_faultclass_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DevicefaultclassDto.class); + } + return null; + } + + @Override + public DevicefaultclassDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicefaultclass"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DevicefaultclassDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(JSONObject whereJson) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicefaultclass"); + + JSONObject json = new JSONObject(); + json.put("device_faultclass_id", IdUtil.getSnowflake(1,1).nextId()); + json.put("device_faultclass_code", CodeUtil.getNewCode("DEVICE_FACLASS_CODE")); + json.put("device_faultclass_name", whereJson.getString("device_faultclass_name")); + json.put("material_type_id", whereJson.getString("material_type_id")); + json.put("solutions", whereJson.getString("solutions")); + json.put("remark", whereJson.getString("remark")); + json.put("create_id", currentUserId); + json.put("create_name", nickName); + json.put("create_time", now); + wo.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(JSONObject whereJson) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicefaultclass"); + JSONObject json = wo.query("device_faultclass_id = '" + whereJson.getString("device_faultclass_id") + "'").uniqueResult(0); + json.put("device_faultclass_name", whereJson.getString("device_faultclass_name")); + json.put("material_type_id", whereJson.getString("material_type_id")); + json.put("solutions", whereJson.getString("solutions")); + json.put("remark", whereJson.getString("remark")); + json.put("update_optid", currentUserId); + json.put("update_optname", nickName); + json.put("update_time", DateUtil.now()); + wo.update(json); + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicefaultclass"); + for (Long device_faultclass_id : ids) { + JSONObject param = new JSONObject(); + param.put("device_faultclass_id", String.valueOf(device_faultclass_id)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", now); + wo.update(param); + } + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicemaintenanceitemsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicemaintenanceitemsServiceImpl.java new file mode 100644 index 00000000..6221f8d4 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicemaintenanceitemsServiceImpl.java @@ -0,0 +1,168 @@ + +package org.nl.wms.masterdata_manage.em.service.impl; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.masterdata_manage.em.service.DevicemaintenanceitemsService; +import org.nl.wms.masterdata_manage.em.service.dto.DevicemaintenanceitemsDto; +import org.nl.wms.masterdata_manage.备份master.service.ClassstandardService; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Liuxy + * @description 服务实现 + * @date 2022-06-16 + **/ +@Service +@RequiredArgsConstructor +@Slf4j +public class DevicemaintenanceitemsServiceImpl implements DevicemaintenanceitemsService { + + private final ClassstandardService classstandardService; + + @Override + public Map queryAll(Map whereJson, Pageable page) { + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String class_idStr = (String) whereJson.get("class_idStr"); + + String maint_item_code = MapUtil.getStr(whereJson, "maint_item_code"); + String contents = MapUtil.getStr(whereJson, "contents"); + String requirement = MapUtil.getStr(whereJson, "requirement"); + String item_level = MapUtil.getStr(whereJson, "item_level"); + + HashMap map = new HashMap<>(); + map.put("flag", "1"); + map.put("item_level", item_level); + if (ObjectUtil.isNotEmpty(maint_item_code)) map.put("maint_item_code","%"+maint_item_code+"%"); + if (ObjectUtil.isNotEmpty(contents)) map.put("contents","%"+contents+"%"); + if (ObjectUtil.isNotEmpty(requirement)) map.put("requirement","%"+requirement+"%"); + + //处理物料当前节点的所有子节点 + if (!StrUtil.isEmpty(material_type_id)) { + map.put("material_type_id", material_type_id); + String classIds = classstandardService.getChildIdStr(material_type_id); + map.put("classIds", classIds); + } else if (ObjectUtil.isNotEmpty(class_idStr)) { + String classIds = classstandardService.getAllChildIdStr(class_idStr); + map.put("classIds", ""); + } + JSONObject json = WQL.getWO("EM_BI_DEVICEMAINTAIN_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "maint_item_code DESC"); + return json; + } + + @Override + public List queryAll(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicemaintenanceitems"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(DevicemaintenanceitemsDto.class); + return null; + } + + @Override + public DevicemaintenanceitemsDto findById(Long maint_item_id) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicemaintenanceitems"); + JSONObject json = wo.query("maint_item_id = '" + maint_item_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DevicemaintenanceitemsDto.class); + } + return null; + } + + @Override + public DevicemaintenanceitemsDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicemaintenanceitems"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DevicemaintenanceitemsDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(JSONObject whereJson) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + JSONObject json = new JSONObject(); + json.put("maint_item_id", IdUtil.getSnowflake(1,1).nextId()); + json.put("maint_item_code", CodeUtil.getNewCode("MAINT_ITEM_CODE")); + json.put("maint_item_name", whereJson.getString("maint_item_name")); + json.put("material_type_id", whereJson.get("material_type_id")); + json.put("item_level", whereJson.getString("item_level")); + json.put("contents", whereJson.getString("contents")); + json.put("requirement", whereJson.getString("requirement")); + json.put("acceptancecriteria", whereJson.getString("acceptancecriteria")); + json.put("remark", whereJson.getString("remark")); + json.put("create_id", currentUserId); + json.put("create_name", nickName); + json.put("create_time", now); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicemaintenanceitems"); + wo.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(JSONObject whereJson) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicemaintenanceitems"); + JSONObject json = wo.query("maint_item_id = '" + whereJson.getString("maint_item_id") + "'").uniqueResult(0); + + json.put("maint_item_name", whereJson.getString("maint_item_name")); + json.put("material_type_id", whereJson.get("material_type_id")); + json.put("item_level", whereJson.getString("item_level")); + json.put("contents", whereJson.getString("contents")); + json.put("requirement", whereJson.getString("requirement")); + json.put("acceptancecriteria", whereJson.getString("acceptancecriteria")); + json.put("remark", whereJson.getString("remark")); + json.put("update_optid", currentUserId); + json.put("update_optname", nickName); + json.put("update_time", now); + + wo.update(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicemaintenanceitems"); + for (Long maint_item_id : ids) { + JSONObject param = new JSONObject(); + param.put("maint_item_id", String.valueOf(maint_item_id)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", now); + wo.update(param); + } + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicerepairitemsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicerepairitemsServiceImpl.java new file mode 100644 index 00000000..c0309751 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/service/impl/DevicerepairitemsServiceImpl.java @@ -0,0 +1,160 @@ + +package org.nl.wms.masterdata_manage.em.service.impl; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.masterdata_manage.em.service.DevicerepairitemsService; +import org.nl.wms.masterdata_manage.em.service.dto.DevicerepairitemsDto; +import org.nl.wms.masterdata_manage.备份master.service.ClassstandardService; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Liuxy + * @description 服务实现 + * @date 2022-06-16 + **/ +@Service +@RequiredArgsConstructor +@Slf4j +public class DevicerepairitemsServiceImpl implements DevicerepairitemsService { + + private final ClassstandardService classstandardService; + + @Override + public Map queryAll(Map whereJson, Pageable page) { + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String class_idStr = (String) whereJson.get("class_idStr"); + String repair_item_code = MapUtil.getStr(whereJson, "repair_item_code"); + String requirement = MapUtil.getStr(whereJson, "requirement"); + + HashMap map = new HashMap<>(); + map.put("flag", "1"); + if (ObjectUtil.isNotEmpty(repair_item_code)) map.put("repair_item_code","%"+repair_item_code+"%"); + if (ObjectUtil.isNotEmpty(requirement)) map.put("requirement","%"+requirement+"%"); + + //处理物料当前节点的所有子节点 + if (!StrUtil.isEmpty(material_type_id)) { + map.put("material_type_id", material_type_id); + String classIds = classstandardService.getChildIdStr(material_type_id); + map.put("classIds", classIds); + } else if (ObjectUtil.isNotEmpty(class_idStr)) { + String classIds = classstandardService.getAllChildIdStr(class_idStr); + map.put("classIds", ""); + } + + JSONObject json = WQL.getWO("EM_BI_DEVICEREPAIRITEMS_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "repair_item_code DESC"); + return json; + } + + @Override + public List queryAll(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairitems"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(DevicerepairitemsDto.class); + return null; + } + + @Override + public DevicerepairitemsDto findById(Long repair_item_id) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairitems"); + JSONObject json = wo.query("repair_item_id = '" + repair_item_id + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DevicerepairitemsDto.class); + } + return null; + } + + @Override + public DevicerepairitemsDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairitems"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(json)) { + return json.toJavaObject(DevicerepairitemsDto.class); + } + return null; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(JSONObject whereJson) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + JSONObject json = new JSONObject(); + json.put("repair_item_id", IdUtil.getSnowflake(1,1).nextId()); + json.put("repair_item_code", CodeUtil.getNewCode("REPAIR_ITEM_CODE")); + json.put("repair_item_name", whereJson.getString("repair_item_name")); + json.put("material_type_id", whereJson.get("material_type_id")); + json.put("requirement", whereJson.getString("requirement")); + json.put("remark", whereJson.getString("remark")); + json.put("create_id",currentUserId ); + json.put("create_name",nickName ); + json.put("create_time",now ); + json.put("update_optid",currentUserId ); + json.put("update_optname",nickName ); + json.put("update_time",now ); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairitems"); + wo.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(JSONObject whereJson) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairitems"); + JSONObject json = wo.query("repair_item_id = '" + whereJson.getString("repair_item_id") + "'").uniqueResult(0); + + json.put("repair_item_name", whereJson.getString("repair_item_name")); + json.put("material_type_id", whereJson.get("material_type_id")); + json.put("requirement", whereJson.getString("requirement")); + json.put("remark", whereJson.getString("remark")); + json.put("update_optid",currentUserId ); + json.put("update_optname",nickName ); + json.put("update_time",now ); + wo.update(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + Long currentUserId = Long.parseLong(SecurityUtils.getCurrentUserId()); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairitems"); + for (Long repair_item_id : ids) { + JSONObject param = new JSONObject(); + param.put("repair_item_id", String.valueOf(repair_item_id)); + param.put("is_delete", "1"); + param.put("update_optid", currentUserId); + param.put("update_optname", nickName); + param.put("update_time", now); + wo.update(param); + } + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEFAULTCLASS.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEFAULTCLASS.wql new file mode 100644 index 00000000..f4ba9e56 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEFAULTCLASS.wql @@ -0,0 +1,67 @@ +[交易说明] + 交易名: 设备故障分类维护分页查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.classIds TYPEAS f_string + 输入.device_faultclass_code TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + mst.*, + class.class_name + FROM + EM_BI_DeviceFaultClass mst + LEFT JOIN md_pb_classstandard class ON mst.material_type_id = class.class_id + WHERE + mst.is_delete = '0' + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.device_faultclass_code <> "" + (mst.device_faultclass_code like 输入.device_faultclass_code or + mst.device_faultclass_name like 输入.device_faultclass_code) + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEMAINTAIN_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEMAINTAIN_01.wql new file mode 100644 index 00000000..e27b22bf --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEMAINTAIN_01.wql @@ -0,0 +1,82 @@ +[交易说明] + 交易名: 设备保养项目维护分页查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.maint_item_code TYPEAS s_string + 输入.contents TYPEAS s_string + 输入.requirement TYPEAS s_string + 输入.item_level TYPEAS s_string + 输入.classIds TYPEAS f_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + item.*, + class.class_name + FROM + EM_BI_DeviceMaintenanceItems item + LEFT JOIN md_pb_classstandard class ON item.material_type_id = class.class_id + WHERE + item.is_delete = '0' + + OPTION 输入.item_level <> "" + item.item_level = 输入.item_level + ENDOPTION + + OPTION 输入.maint_item_code <> "" + (item.maint_item_code like 输入.maint_item_code or + item.maint_item_name like 输入.maint_item_code) + ENDOPTION + + OPTION 输入.contents <> "" + item.contents like 输入.contents + ENDOPTION + + OPTION 输入.requirement <> "" + item.requirement like 输入.requirement + ENDOPTION + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEREPAIRITEMS_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEREPAIRITEMS_01.wql new file mode 100644 index 00000000..dc1f7599 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/EM_BI_DEVICEREPAIRITEMS_01.wql @@ -0,0 +1,72 @@ +[交易说明] + 交易名: 设备维修项目维护分页查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.repair_item_code TYPEAS s_string + 输入.requirement TYPEAS s_string + 输入.classIds TYPEAS f_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + item.*, + class.class_name + FROM + EM_BI_DeviceRepairItems item + LEFT JOIN md_pb_classstandard class ON item.material_type_id = class.class_id + WHERE + item.is_delete = '0' + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.requirement <> "" + item.requirement like 输入.requirement + ENDOPTION + + OPTION 输入.repair_item_code <> "" + (item.repair_item_code like 输入.repair_item_code or + item.repair_item_name like 输入.repair_item_code) + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/em.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/em/wql/em.xls new file mode 100644 index 0000000000000000000000000000000000000000..39168f386f8d57788aadfaea9e89359c91f13da8 GIT binary patch literal 277504 zcmeFa2YeMp_ddRx9!MaeH{sGlPY4~PqaYASqZlBN5E6PXp@ybls8U2k6a`W2^;InB zYp;L`Viy&~*8=z=2$uYwXJ%*H-FqSG|Nr^^%FSnTcg~(U=ggTiXU>$}d+1>N7rP#= zaa?nKx@w`?pC!>+gbf~!YhC5zG%WLB@$>LS%cs*ltFsUcD$q{c`INKKHMA~i#5j?@CFB~mM-M5H97)=0@n zZIId`wL@x;)B&j@QYWO&NL`SwMCyvv4XHa)52T(*y^wk%^+CD{>1w3DNd1tmLF$h* z0BImn3eq5?!APk{X-Mfv8AzE(Ly(3d4MQ4^bS+XA(g>uHNTZOlkwznpLCQhOMH-8g zhcpf;AE^LoJkkWDiAa->CL>Kjnu;_HX*$vjq?t&wkY*#zL7Iy+52+AoKGFiDg-DB# z79%Y|T8fkgN>fqNhni2p_Y6@2H!ky21s0>sI|OBXQT(rI&x`*;mGX-J*MI!V+n;@? zhvKq`3d5%tcuo@1%Y147m(fCW#h>4oTb^yj&rsBU2DFHI0Cna!d_tbrhSPt0wWFl!+>GK zF+@zo@G@2N{eS)GDP$OwcuwSS2+ z9|=ej!kyE=FIlodn8I~%#58`wKlz8?q#vdE(|=6B+1=3bYs7|1UatWjNY0WaUiI~+|5yONtgjc}K=9W<$4ef{=|xA{gTI`zUT%0(tr{%H zs26-`tlkSfYci}jSMwpD9E09A6ITOqO{FS9$cP@sK7@ z$dH2XxsZk7;$$IN62f}PK~RDW;d&2*QsZ%Vl8~2oy;`5}t{$yVcw7K@vV9o7t?WkpS|r=2LNhuL0pr23e_b=D+g1ZH*?w02lq zIOA$w=vlDAJWQ2F1}NAbQ`hSL1zUnwAa3$r?XVtDSM9(>gL76y#$&qLTGO-9S!B(c z;>xNS;hi!2v)^^r-3y~0v{O%%l4ZM#>)K&MF+Xl1nFV4)cpwJ67l?Erny6FYddTW} z$?9Yl7*8_phAv=HQT58ld_T#nUT$*!we!LV#;O(ia%D{)0heKKr6y>l5mc zwZl5XGHZAjv1}wz;m)v51lLZwN@#Dc@~-6F2b_JuiU*UxBJ_n=tkJYzN__AV>hrvh za2?rSO5!x_?B&53hIruzf|IHj{{P8v9gSvvq@KC3CG`KRx+CGl6#Ahf(O2D}==0%5#XI^lhqGQr8E9lhogSRl~H}j-Z-w$8XX#n_H&XZjB z!^K1|dAQ`~jc?RmQ zF8LDzzgp_bE8OfwE1yyX=gfBXglpUbm?FYNO`odb2Wuqp!1C0hlTb}Qjr#+C4K<0O82f$vjr ze9MnZe$#HHJ^0I0UC?QT!iFA3;}WaTl1`!pAA?BL)F+pc1-?mN_B$>wJK@brDQ8WA z?=NRpCmoY-odEFW0pPNq`uyaS{=uJb)d2FycJ!yyG5}u*_otua#D`q+6Q~_!ef{ak z`uf9VKlOpAXcvRJYF`s>>N7b&ecK3l@}=kmqVIw;EBxEvg!=>?jKAi`rMLefaEfsz z404*HN;$cNd_2r2_iu<4VuxdtsYW0^4!BRQ{W;)Ck`C7)ZE&vA91lZxo);h2-3Q+k zA?+v9g2#9F;ZB6KpGbs~0)Jt=10E&tE0B%>j~4bI;n=wHgbThN_*j5<;YSPl-gJcC zT=?XBCd`}88ChQkU(!Dl<}bh0Lm5jRL(hbJ(U>QR!43Z@@%{PQ+QpDl zwF~u+cJE^7*`P1=13Dd?a7o{$H=F#&X>XqRwsx`6KNALHQ}v3F?Tb}xPrU&QxDWes zPJ5vFdFff=L!N0)d?`Po1(%$$C?NU;8=4}0#z51gmPaCHmh=1I} z4yFCur?7e+fqyXhEksR!V@>MP;szb?30F9kR3 z+0>5Y&32zx z!SLJm{$jUJJKSzp3huUB1y}vfpl|j&;-g-w9Su1B#$g?;p!5(X>nq{@c32+vd>9Lh zZaS=&*LcVF)p;;Q(Kqa0!tM34>)B?X4*7xal3(i6hxo_o2W0>Cmeb2WSncAp9|?!v zT=Gl$UUuSY7ek+t4y?3;TTZrDf*)MktxXR`Kaz0KFQok#@ObFi;cpE%Bm~@_j)cQX zl{^l7fBKRyQd*1Htw9 z?i%8DLl3|NKIEKNH-NvY>+o0Xzh3qx}slq9gIq3QB&P-xhJ2A3pt(zdy9vUD=@=N2DI0AD8{edSSNWqECD9 zivK0t-<~CXpI`hh>t*v-4m|*0^-}}RBap&QTyWCSvESmBQ^LLVtn=`rt6mb{pD*>G zV++fT&-&^-c&XaO5zm9Zg4@Og5w|P2V|?`2n<)<&iH{Yxi#Xq<2Puz#f06S0>si8W z{l(C;gtK2e{fU&vA7Az_8+}KAw9zr(^ly&&iv#ZSTi>AHmh}}%aLn&SyCakmACnHY zxUhU7&ROw>0hgyxgdgx*-*ET`+xmupoBdbz7g=9;C)JJyee@LYwZRR2N_^aP;dA{& z$gkoYgO2ojf&2_seH9(UuE_Uzm<{fjci8xvc1Zu=!}f-=eWm<1z7F|;uk68)llJDA zuNiRKk0U-b=&)Xn`MwQb=YeNcFNYo4J-LfMsvSxMr-US#VaG>uG8|hw{LWDR~U}rTw7adBSae!@y@;Dd9d`56b?rhfx2{gwYZgQe%V zculNZNS;}wIzpZ_}=F1Y_W}gPW8Q;46HrvsmH$(qY9=qR` z{Z7IKeZ!wiI5y^B|F(8C^gy_nf4TH5;r{wG@s&N;=y>(7GVXZKSVy9qLO(7#(trBv z-_(x_U)EQw8#wA~TX%K9!501&^%||#^R0Qe;fFo&VQ9deLuKt_b@wL z)YpTK|9n%@7x*6ZZT-=pZ?%gt?l|;pZ(rGtRn2x+?JL{ef~)p*!&UoAINghk#}pk& z--0VTZn&ajhx^-!q~kyDkorOIaJ9R%2k6HW9ta=sc}j1wKAs~o>3G8J__DwI<6C~f zF@JH`t&NTYF51^IZ#C;{$|Lv9ZFVB@!zA2a9y{E|*T9!_5LdYLCgGswf=l}TaEb5V zUJ~D*zGZJp|8{$TH#X~Q_e(bYgvs+B{(6x6=IH6LPvFy##7EBWU}>IkKI$jN9T$Er z0ry$^yheLr1P4BL`Ca%D9tfZI$;lIwl*gps0Z{R=!>LavoH;QrBs$@ePF+8Isb|60 zC}5xG`onAEK}n&9E^hkXa6Ymj$7^T3IRE<2zD{C{JB)9?^Vt98_hdB~$%w>c)vUv~8EfU^A9-+t9@IuY+4RjY@%wxxr=2i?|oKY~N6=q#Ga2Qy+hM zo8s2x>Vc;TEnG#D-~MzFO9#Yt+cHo8S+?A*TQ}22lr7s~%9iagWy^M$>T`COe?MyF z;B9YP#oG>3yzMZ>+YVE_FD|m%yW7`su(5odT~5W@4pY4CFvZ&rQ+;^Po;{`>FRxD| zIoizGC*1w7HE>n`%Nxgep864g3!L){M(4~s{SQKx}&c2HBQ~T z`(9gMShgHo)^>uI((5ay{QbH%#@^0uS=&3xmwdm&Pu3lI_VR978LV8ctQ}2Wp<3QJ z`!KBZ>a44qS0@KAWXz9$ALok{0?Fm3%fRPyajy)5>(*^o;3_+MYk-#>IqT~#-_2H@ zz0vw8eOVAMKi3_%t$GE=?cu<6%H`Hq&mg$&I`jgr(t$0c2K4gk(7P18`q+5AHQ>_r z<(Bm-Tlv<>Ugd#ce*F9W)wpNX)ywagg>m6;vwZ=z+ADY)^eYAKH4a>4%+I2z7Ldct z;-WuNh}kxF8Op&EhWHCT00k~r=z*ocO)Uj(S}AbTOM#nF3f#<6;0`GT?$A=;4lf1n zwWYx2TVXD@jYkB*b$7Utz*QaQtpWC6P&o&?0s7nCs35%DPAfYIuDcVAw#kJ{+sEhx z?gC?gqAFs;#$|v4Ii)R-d#M6FTpf8V3WSOYAA^1S$4j>X#LPpvQq^nRr3$#k%twJz zi|Hm(@K=bq4P-os1Tu2B;Z6uxO)us88}7s)yxek44ub2JYl=;-ztW+m2I1wl`Duce zSA7GF6w`wccUO8wDR5^7!F5~8EZ~;f+}t&v4I)8%g}XL$goF&z-F?yDH0G89cU~!Q z3k9xMbNS0KKM1bd_;@yk~60-OcMJe)dwt-35NR zQ~|d%=WNp8()RI>21;6-$9zsT8d!sgP zA_@NlktY8Hk*0rzh`Y-*1Ci2nId^%!eY7;?-4@vb+})rZ zN`c!k2(DY1orTcS&0Wqo;_l;JP`=cT!d>iY%yF~+drXE3wxSKja^YsiO zwOh@-fctlBws#O-Zf*7ng6r1iRlqHE^SOy!9hAsrHc8)qf=IuhL;|#{yE@nW6GZy| z6(a7I8~`GLJic4%l%NbRvk?aU6(Vk_2b)s674GkgQ%ixHRtntoQs8C;!FBuiA;1k9 zpt%bS6$QM)$N*ktm?@3B%@#$u+k7~11NUBcd4r)_!fQ(_VV024t4jXuJE9c0BTIoh zO5l2pwf-`U4ub3U(_?`9cl>lt5MJ(nve(3Qx0HV!?k)xHzJR!!Lc%nyNGrK9s)lxB zlodN+>R%F~br|&$cWpId#T7-CYznE1$J+2DOl!QCy`kpA8_s=Nr|i%**XIq*+OciM zGM|GZ0qwyPU(A&vLZ*26}TN&t$cO;2eyip`f)7h*(aNHCUi+AS( zFs}HTjO+87=ieAr+gZnuvL#`fx+`hK<7eO^EE+!i>;cWf7rfdu3Ab4^2wH8PTc_p4 zYIP}MWWly=KD3vgh@llBqPi=K@PR34gg`%ygqDX!ct@hf;~6%yHmy+$)}}n(D<7`u zU#)&)W8=|MFFu!E+LnZC)_o;uLrc3IKqnr*if0mU2jZh+8s^+$22hx@C^BaC@W(RVs`3gTZt4>oFKVlJ7 zI#$iy!F>Dm87*-EZp!m0H;JWkjc};`r&LZ72xbD12 zHw&seMY=M62Gmb?>^bg=xA3dD>Mim3{Ypdu@Nb@9`tu%y7D zmKW(nkPcQtb^NRSwLy37)<%+_HrkN_d`CQfyVju%IVAK8t_`mtAvvfv6u-LojohHx z@FLwNs5TVo@_2FvLxqepli+R{#tpE7Beruqek09MT?Ql7@jJa`RKa9n5wr?r8G|UW zr0TqBA;shOHcYZ@jFR#A$zK!5(U!d8@uO4@AVa@c{BD~WAye*n{BEI%)zPGv=>)Q= z;_>^24ot~ps1w*$%Z;jnBpO}(t72YmjoK8u)pmzB2KNsQD+loA0f8_eXtez1)1#@mDK<^WD5^uRpf7;^+Ndo0+<({*etU?|=ML-_ggL z9jSY&`KP0vYB1r-;;VaK>+uEZ?e!THHJ@N5X-~TfI(^1dv&euA`^vG{k-2c(T*$>Vwv%TDF zU0c5U)6wmZU$=hl$p>4$_Q`){b$WY9%i@L;x}SUa;iBvZ?{E9WkS@>Y!xzrfKR-EX z_R|w3zRIDGcKxw9<=GVjI(&T3iU&g%KD+hBZxdEs z*ZQ3{#nFSdRGmF?$C|L0`;UApp-Whe&0j>0IIG{2U2RC4J`=WXj4oGq_kY8;SNzO( z?B<7i?HW<--2oe8!r#v5Jg?h}8*0y-|6umQ-!8tKeD>nY?|pUk!S!|inD+axXU^Pt zszr;b$IGSEpL_h?2fJPP`OY!dHJf(DmszKG7NwjCVSX z$hh|SUEiG8R@hc2OoI4O{Eb(ukLxi$$v&)JO0MHR}>y@ll@q)il^Va@0#wX|CN8s zrwi_Warl;_AAf!5>YhVJ52^e6hQxzw+MmuizWau+;~Kx!_SY8oec7~bWODreCwFFi z@!hJ#b@OxUG?Ni_k6G0y`Mhu+JXB&y)f>H@T~02pMThK_p!alQ;vSuvTE+d zQ?1_nc;5D(;$K_y^0WV$yk&9Lp5-MAw{&fBTdM=@4!)U`G2zq7AN}<4*)Lare#6Hv zez`jIixsWg4NkslO27Bk^*^@ml||Lwuk_Zg&6}@(toe0U-}>J3Z@kzi{jr~CzxU(Sts7s_Z}ar%{C>$J`eh}r{Ho}Y#)t3fdgrkk^&bA{L~iG2_FZ3m zXWxFW^sRjJrl~I!WLE6Z>d_SBU>c44G=#+1#-}vSO)5|>l?*&u8+*5B^*@M+u-8SIr zt@~epJ#E(e<*t2u%ebPRJ04#iy<_L`q}QMSKJ8yyxAmD;r*hLVFaG(~*mlFao*#Gb z;I{@X>-5Q*VNbV8_~FRX0ev4|n>VS~ivv#7eLn5&*WWnsZrG!vwuV$ba&lqXeGl|X z{5?0V=!!)j-1z#66>rRbBKeNV`Pu(Xdt>hnt9o?l+OvMU%D+|n3hy{-M#T@Kx!Hs{Vy zUd~KvvZUX>C&&EWExpgF#?$IP-05iTsN?5`jozKS=Za~&a>`{U6puev^-#}kAL)lf zJ~)sV+arALv2PCeuD^KT?T-Cl+}(CZvm;&CZn*uSI`<5Vdn7XN_1>RXf9XFLKFjO( z$c_!G6RsX{^YDkS{(8ehyB=6NasJfugJX70+1GDWM9fcPf4^|5Fk)@JPrrWh!Z(?Z z%sBOU$J2A?c5Qcak0uAo-E!Ss4=rhO$HQAczi{lAafJ_`-+#l&)rGelNqFSTHscb1 zniSt+Z>>r%HS7K47egjCJG$(ZW^ecGaQe$TUP&C*u6Okj&FcOUd9GX2p5wX|pNyUT z+WB2i)cf^`U8{Q>>z>i-!&gGT3mG4I^`Qx$?l0Wv{Q?y|-ah*1T!g-MQf7$FrXqeE7~T zZzt8<)AxzQEfvbI`f$)QX%F-qd-(OZcdzO5ahse5OZIM@p8Y|cZ9A)f(Qd$dzf?*4 zp#A6v*5Cbl$)hhOzO{4E3riksexgs>X|{g~%&9{==Bx4vF6xAkX91^a45b^310^zAQ9e)5NP z-P5Y1tp2d`*oQ_hTQ{}+kCpQ`_D>kts6kpn%cN~H$~C@b(~d(oWLzkEpu?T(hkRY{ z&bxZN_Vl5?=Vvdv{md=;!j~I7n-jO-h*o{;;O!-k{?Vbv>ikx9s*L6xR*T3}O_f1Q#{C>@SQ?v3PJ~OBD8@``A z{`~dD#@{4wSd;u``NHVV(c3Oe{eIBk{(49yoaa^%u3J^OffXhn{)fZnJQODhc-tcb zZuyDB*GG}61G<^IyD7^^rhl4cgcV*sGm?;DZm=?p_T`5HHbAn6#=%OmtH}>b9>*NS zUQ%^Dr*7R{kL6`G}7?Lvub5$U^WxTiH14Xz6M(XdT&2KNsa zjU0{lb#+7UYDq7vt%-_5;+6bB5N&N#TOZ%`Zu zPP1`6OWT0Guni7;R$G4D_Xt;Mv`)G!L3#EmVu$GZh@6{N;`gTZ(V=N!`t^Ca1!s%P zjU((+XoRq7c~f#1EG!;M*q4jwLKYf37%kcy2-8f?W$DW)b(@nv^L_j~xC&M&$5wDa5V5n6L=FaK;T2 ziGMmhZq#vSSbWU~%E zazEM9mz@s4rXDXBuDb5!;$I4nV)En0Q*igUs2=bYT$NLK)|DRx|0~}tqv#1@f0G_* z1d_u|U*+B3s{EzkZoEMGOTpdu6<-Ap_D$UdyZ=wxqZc1~M#5<;{HBxTH$9xf$EBlR zFkeU0Pu~yW>uHgv_uxAuq}IkaZ$1z<^@j^%?`f2_^n+R@+ET#nG`e3|<8&clZpv9+Pv)xg*OoVVltA^rPqPObFkpT8aab=!Rdb__mT*mhicwJY2G z^wtmK`)#bg?0C-x6-GSyaG&BGnfH9v=7BrAN4=2uVCL|?x5U+7@kEcZGn>49*V^bM z-~N97vyuZT6?-PJ}Xd8?(3m`sGt^e){$H>tY9dJ?_+_pQpZ1d7s{S zz+Gh?d-Cw+N>602^es9cReQ`mS2aj_^@UYW4twJD)}1=-`~Bl4JAb}?PrY?rZv5h* zS6^A>Yq4wp7kyuy{!HIDPxpUv1(Njm-O&go}Z1b@XUYkGQ;R@5YJ^M=L)aktrc0V}%yJsUd zx13tzzz5y+a&IT~8W(f8^)D0d-7)`)$GfJ#GHUrXH_g5C^N9~>*WW+wrI=f%_rB(( z)cZztPkM0t`-k@WP8~`6&yRC%YumI-mpYMK-pYt9sr_`1E4BGCTwMSBCwpK1xPF(s}|EqQitqjf88tbT9pz0Ztq zQE|_pgu-sG5B=g)=TXb+pFY27>&m(xUso$}Z1UFWKh%FyzehH_^_QexTG`Xp z(4Us-JrIT;(Bm-3KCgGjbqR*YDD8Kxj&F3VragvEhYmgzBVvx`6A{K7Tu(xzG7b6u zh)`zXdmQpJ@ZAH@X}CLH%S9YA3*S?Q!4b6#2;L*1le+eC{0T=A}A6&<~!>kN`=l#~HA`G=o- zNt88QF=u;Lzm!wyCsN)?X};j&Ax%?eBGAjj-z>~n-W-1Gpt=(u%G)_Cres>)!Huyg zgST2#T7!yYw_?uFtj7`j>?+o7TDp4nhE-WA3|lehuEpE4VoC^4n4Op=F&UtpFMcOQ zVTDi0OmC4Az2RtjOv$q0JMypIkeIe>QgnV)M#u(PBBtbgaeM|_i(K}n49hr_doeY6 z_W9zFL`$M%NOW+bmeN#ER;?JG-YjGNsPpN1BBhMYI9({O^u$pk8jsc!DUF`EWXoNn z^u!*iPZrOguO}Ycxx2W_V2O7y_w;%_vC5K->z|mRkN$9d5-gx;3d_cn%t>vL5>uk? zu~es&`SYVnVpAp#i?(UJ4J4bHx-Lawu9)L)6WKEJ=hrAvRANdBR&^>oQB0{jrA!%D zV*{^ZO4g>+H#))q?OYyfDDf;^sFtoFsHA5POp|ojnvxD%y~c)D*OQup zu9zcfy6Lpm+;n~#)Dh?SC=cn7hJyIhXp7o6U%+;eR!5tAIeWo2+MJd$U={yYO{2Y0 zqh(W8%#p3=#9ot8CdEnP*EyTF5;A}OfK_%oz{wENUTdi1mXK$1I zR?Mm8qr?}{&wngFk$#0QI`@IidHHsjrGfUK7Lm4TRLd3RtZKPsO-4jo!7BES zxSR`FO9my(wy-(^YiVK5#M{#rtxuSpF!b&;ee}7!*c9e3WNjWr{fQ04gxS#>3b)~s zw4TZGtM$QO ze_j%a(6Y)=e7;yS`yczLPxEsVKFs&@#9TOpG4QIzL)mOA=CIRJsDz<(r0kC8@)m5H zIPCZo@Mk~67du(Brcc&p;*V3pi$j~|v!B5Q(?gGeU*;@Sfg?42EF61l6Cer~x(cHj z39~D0V9$YPo~dP{$W;7ILaeAOF%uwk6FkZjt!t6F+p}08rX&$3#Tvm7SfdtNt8w9& zRiX?@x&018xCiVLk+#)3*;Y38d4RaX4II2U>gv`eM_cU zqu{hDfkK}w2B}$4w+}_5Lm-;ed;-oeH9`Da1_a9B;A?cKt!lGIMdinoNQro~D-rwE zE%3iBXvApck>V`L#){D}4+E=%JUyCZ5D5lVwde>JgA;jPELsajNf0**EMibJ4k;d~ zA`*We!cYhY;K@*mt5zLswSum3)Y5FQb9oVI?-nYiNoclCu#S%S&l3WQ9ju88RJBrU zVB>Q{16T@d4Sh6$h^`y0@#{SDR$Zr7Eqx|I`BI-Pz?%m%-O}(pK^v|7h;w=E(r5*g zt|pRE`PoK0!h)5KwI%ipr3jzUKaG#Z>VY8ZLj-EItUm?nL6t|%EDK`w z3kuJt8;VpF^{bI05WqG_8|O&ubld095mJ>LW%PL<$x15gn~AG2F!yQx+DpK}N)q(s zC2v)>^BR`bHSb*B*)7RAQ6(8#Ke+HdS~?c-df;lX7F}Z0ZHnNR2d8I~^T)ZdaCpmx z?@x)%=(k`rY)wc>hdc`{FdmJP?LF*L5g-!-7)>ug3-@x=P ztTn`Q-elvdn|>;>ZlU9By*V0QoK4D+Wx+zoK$Wvw!DvEUR%I_ruN1@Kz>Q>Q9xZH( z2I!Jd8i%wm!EusVRS#V1CtyX@%?fCw;jGP)EwX|1K{ZgTn3C)B#^GB}~Btb)C)Uq6c+ zesYpwi{sEJ9NGOETXyxf!Vml1l-*q3^iV8aG`$XnKKmfS?va_^H0AodbBIg$KQ^P8 zc53a4>_~XfXlwkLi-{p^rMlB=(Vj@7$K4^`{T(*o?qy{6T z#o0R#1eJEVWJ_zv&>X|?vf(vKR;E6cWwajSAFH$Z)mm9s!1j>iId9h#k_)?Okz(gZ z`D+aK(m_;7@2%%jI0>OH4C}pwJUqKAZP?R3tlLnBwBnU(l{AKi@?fnqV1+ZKdvV%p z^)080xyFwEJH_a~u<0B$PCgRNmUh-rIt#1Q&&r#Izb=ERU`Cim@tG)rMv$Wm`Eo={ zfTc7S-4K3R-pYYJ&amBpHY9g4%mZuQ_8`0*=IUd{o+`_v? zt(fCd3N6B}6j-qnK&6m)l2D6{yRs4c?FcBQ99>Q@8jMR~A!Zq?hblp@#*m$ky$BHs zQfr*}(Bk~siq4VE&Pjp@awJD3l)6QM0$37DqFYFFynZH(Fc%CtBuFFYf7~bcdGeAo zu&J0qq2Ka?;efh}O50~or_!GDioM z|F-0C@rjXhQ)5c9#R^?|_O*k5nDOR(;%=BCR~njN%9V`N4QU`!3ep-RXprO>o*I`7 zoN%d>g_T1|M>GK=g-Pf+c^Vn>H?i>xHagl;hII;v@~^J{8pnLkrQq_$-1Vc3OA1qQ z$*?R?l^d(m0<9)+Rb$0AE`V@xi#fTD&?@8Zv~zh9zG6=IoalUtmoT(N%GoVFM_fCY zIdX_8AtskdxWL7EeQb)P$Gn)`XC%y)5WAAu$mG^0CDDvnCmrF75X>IEB=cUp~; z_hO6%I7wSUNnO&HSY^1{GJD(N1^6mh6`O&Yw?GgOn*rOm>S$zS5n$4gp*gN&a>@i( zJ{MuhM0BH>SO%DhYYt&3#ibQ#cj#tLoM~tjI+Do>kM;x+?0D>qd7#D}cn%N-#n3f( zVa3bFbqr=HTqmE3o(deUj-SZ;AiH1{oPy$-kMazjaKB(xmjcdx3Rc0fy63P=m52NkvF;zA2s*S>*$$@*jqI6aY!+esyvu%xCg3HPe9>-l%@-GP(bu@i zRbO1H1zTLw-+Z-t1NRHmq8@a@#+IvtfUBiITvGhVf>(;+i8;Ym(#lCo2zwWo@8|># zWI2@t+=;FxuJru|CTk-`2`8rNtsKt{Of0jf!+@N4TxTL=lEQjvb(exlZmgMN-60oB zX6$U=Mlon}DGZN0J88?&fCiHTi z>g+yr5)@P#CJcIRYIJ_9Of5w$IkPDFV%8e0sFK29MgzS>31zI%Xw9^XqxPqWh=qd4 z5J`#ySHKnRPH5;}kT4T}Gytx<4#IT`n!lwhZ`MPSeQ$Vd26U4v>ZnL7<`9=yTw?LV zQOh|Mx!5lMTEH3yqD{Dt?t_OdfMA?(cY@{2R4wdF8@ttPVcE^NnU=@37TLJOkd6EE zNM6HF(N=lRh^++kwD&1ajwazx)(g1YCOI*3#2`uygDF6ZP7$qYEkV_i6c0{pGTe?W zS5UagAva^#xWA?BO50UjL2SN|B2+?Q_NM$%gqqt0p{;Sepw)7>wGbjr7vJb8be&|! zPEwdNEw6^@08@LSsRnAD;obxLaETM2hy^8bmst;G$QA#|hB6%3v{JDu>6Do}1jJVs z%GDr8Ioc{zE=M9cnPM!&MN1j{)K@mh4U}wDg-&RoVW#wSMDL0JbRR86hi7xEI~F0M zog>l~EHrwfKU1oe>%FqIp~a)=90OUVV3kL8>CV$ZH2ud?j(#UP>5xVENV2Gmwk;DWuz*qE1d-jSfq8g#0V)( zle&Ta=5OQD1{^RoJYDo@Xn`$F#_%5g*20o?6}!J`o+N@Xi#wQ*LiT8M2#y_OUdy+u z_~6FO^nrt}@NrIba3i`qzZBSzP8OtvOcCxuDgzG6i;#FuR>dz6vQDyc#w<(9%DGC@165)8;It6$ z^2#5@!ymcmP#b=Ml{Xco9~jD4s~=6>m-}oU%yuRWi?ca)6b=qE@%kN6&rb&}NacBv zV4Z-TO)kYT#9)XcgKYXVuIiaeQ^cq=!-2|jRF1@Us7c|Qj+*xDUqUH{j@nR+DoMp) zGT~iLsRCu(J`>s@iGBybhyeV5+6;T`YsrHMlYapl*11N?is5~PUVSME_{62FjuQrR(~>6wsS9fxG>Cau@RVrPW^_Q$f>tfXfQ)Bc#M(}i-eyfKWU zF{UY8A>+KF(`1kR;h3? z9LPAAe5?#adnKwF%3;2*1br6e+mTw6=#qPmCL(S zImT)0u1(bvgQ|95C>6tO#-v|8gJy&KoRLX~q$uD%mqExM_hq!gp-XL-8}}&zYT>-^ zqCpw_aBOl=MKpI94;3zV@RVMZnZs49ZqWs={ZVCjeJuU#IF^S2c0DrU%A= znW-(e#FX^J)!Q4Fu8t|`g)1$k`Lg;_FpjXs)E&=8U3#od7x4lIRyF@O0zR=60ur=h zk9b^;&~h}P{j2G6BZd^z5FgFrjE!BgjP~=$==>FP2>&AQ$fSpgGqZW0v|~zm{*_}L zPllrkVKF3E&fT4n8qO67dmbN+t zM$h4bRj3Ac1pFE$WAZV>K+k6zTm#qY|A&=JEDwbw!jKAc>f&%IG%^i+ha00@Ylb81 zh~ZoP!O$%B97XuxUmmf_q|}{wc3e)bF$0$qABrZAZgJERc+K-IJQ#N_OqKipGMI8= z!+g(f*}Rn$(dlI5&+$l_zqNXW8Eq3B1pai;@YzY)z(L&NjVU>?%q~%t96Min=$H~k zJ3EDWWAa~T_M(h}j5_&lW9)5fBtG6a4*6bCxIC6>&T&+6HWlIkd(+zWpysA*EY$K? z`rTNs5r-4r(-3Y!5uv!ml%_b z^&A=AF_fcu=!vayhq?C_XXmqw3i;&SWZY$^P+u)80{NQIL;oScZ|=m1UWOp-^s}!EBs3G&GK3oH${mVU=o>3>&+2bs15C8YPTq zxs%gOBNTQ`cA4q&8Bq+-w8A;CdAaHa0PCHJgMB2G$-{%H08Ic{SzxBY)rZFp$loy(`Pow1! zD-XqpldANV3ZFuYl~wN&s*0SjV^SBQy_3=trg;rawYSSd8Quwq@|>)>D8ZUC+z7%( znGD%L@f4078?A1MWnZz#HG4CjKClmnm)GB%drquSHXOuoBo2#eVn556)<@wX9qu$0 z@WehvyO1?zjj=~09UbG39Bl&Zm6L%Ue_y15Akt6lfMjEVo#R0t2$x}s=F=Fh^5{EX ziAJ;jab_89!0eox&Mw}a^K$mYVHj*x6N_B}gkqTUTBaZ;r86L|HES`-?9A%3)mBD! zLoP4}DU+Gb66osV9?G+kp_4J9NQ(>`lGAJzMOKxfW~Lj_7)ZpFa5h^O!xSr#nSL&h z?^&fMVFWEa1-lhDFS*ZbkN;3h+2`Chm5rh0+z7UKkCO);3q*V^ZHdEznqXi_(z#-; zZni`#rNMDa_lU>?8!tT6uwu>$9Cp}`!w3mONf`z-DfQQMaUM}IpfEg8Ocz@yT+iQP zL;6jeZst-;NY=7ERZE1poFm8(&kQXkd1LzS&qDce)Q6ZRjH$VWQ;-AR&}sYl#x_!YIKEr;}z00$2jnXe8FX z2KJ8q*F3NCxacRAk5K;B6?oXaY$K)k(s@}g?@IRr)3nct*gp21ALyTlUe;vA<-m7w zznLR0_XqiuG4#S6=SFzuK|YmdcuvMD%9;aj=%tB4S8g{9_6~RzA^J{8%J9P4pl}Wj z5RZCPCFn^#HYltzc9S=P-l5vCO9Z_<3G8CTpf@NZWyM}E#9@1KI5wm8C6+b007#vuiYkdn zyKQrH3EZl}QX|Doc3mEEViz>=HT@N?7sAV{qL_K`T%mL|{I*syW^&8Am^EF>v3;k_E#vaYqd9B*F<;%!!dNuL@l=OB|U| zvOpz#fNTQP!ikxk093-WTAfE9+z2N2laR!dCozB%n-Z1LrC?efd^Hybc~V*4!+1Fe z<8>cAvm03ebxlQ0SyyW<8^DHmq>95HmEUDB=Vw^kqo3V_mjz^|2XAc4S+mKx_05Oi zxSj#INPv9;6{n7^yJmw+7UKA;8$&s7BOD$UV4VVNRC|DpbpXRsqtOabKRZ?V|nU8dQP4?;8n5~jVrV& z7YPP#jLP6+qNfY76X`YuZrED!ml}@nm?{-4W1W~1UbCSYK1=6#G=1zup0Q^1)cLQ} z$hiO`$AmQ4TPo@)pMq73Fk~ugN7gNHSeJ1*-~E7CjgpC2Og(i0J+aIc&%4iE*n@x4C0JBywuX97~UhJ++Wfjvkmr(lRipCZ;|?V*-KFo{9Igbi8&nRQeVu1GecTyJ3` z8iKGe1@SAY!~kC7;e$pT%Dr(T@u1SVQ05FV-&Z(>)0ZrQPm$U8RnX>|7|Y`9cwoXl zuJFv-s*o--odKOVGVjDwp1^$4>zx!@n)mcryq^(a*gqC~1)dwTYH}LNxiNF2|EWGC znFgNwa?4)LetE6tzr1dvy+6E)2$Fdog!5qLc>qb~+Zi)t-fM5nk$G;!F-vA`j0HdY z6quG~O@Yz1h^M9jdZO$luuHZN*Ov9fo}#7D+c=QbSzCXt+;+!mQ*a+`;~w4rRr*UBy2QiWNZtHZSF%B_D_5+{kHwsz=P^ z5lp^90-UH*zS(Gh3cM`m{oK8`=Ku6e6ETsJA%S(g7K*S+Qci@hmseUjBO3+N`6!a? z%c#wz2&(!R)u3tYPr<0-UoHn;Ay)(xepQgASOrf7xJ$akXK9D{5^#14;^$yuDA6%I zu+rRb@~p7Mo=wT6Ha<{c97UxaWTuxU_*X$c4A62{Y9^0((P=OCK)+sT;&JZ)pIxCD z_iQZI-1NP4ByKs|G~syF2@U2{>>ZzY1w2GkBuCxIfKFRXo1L{|PPt^|#QAisII@3R zx_#qZSOy<8vmXQC03i1(xb$yrpf@c226`Exk}`Pk@{c0EicBwBF^Bxc-rhrbPEo`o z!g)B3bveSwN4~^tUhT}ot+DFzG>D9^b-rs30jk&OX?YAgB(Z_rWL_Tqcxq|e&1xw} z3#l0u_SU@H$8iQyn0$6#Dt$W0SgUMm^9Dw2k95h@dQF895#N^n#Sm9S%(G4MG!bxq z+Oln1MB0XYXv9v7+X&PepPgjn224guJO>SD#xtGtmhu57^ia0ircuMPf=xWELn(t% znAX%!>=28`3t3oc2cmE~GF5mnWx1ASAj*4SMoWh%5>uVM!x>yTljbm-4F+5x=d+FJ zTAE=8>4NkOg!McM#Ro2&Bn#lN#VRFUjy_A7sri7*;4yU!;ft1}#P#HK# zMn|susv{aWiSo2%Kd_l26zZ^Z8i7Tg?St{jIt63-5dSvCsK%0+>74N)(B<)Z zweSTZuWoFymSXFP*KJFfeQf<_L*&&(0pqy|UZJzA1$yP?#VH_;P3{$bySs-KNwFi+ z25vMQDBInu9Q7%WG%&KoKv9|*r7}ux++^FfZcuwExUnG+n7J|?GB-={Dd~8cM_`fF zv-`%gu6Vs3o*Qeq1y9sijh312KVj&nxm!Ix(QGTK3ezUGl`=XS;2f(9aHEAIA*@s$ z(hz4Wtz8zYI_7cMcYi;;m%qlr*Z*E{(8yt&5f3_r46bv55LKpAP2Yuy; zVX>q^DTrYpbJN)%HXo=Q*%=B6br6*yv3cLV8i2VgEq*^H+_ZIm)9(3ATi>4oelt@u ziWpn45o}o=5w~UOTg*p2mHA1Zs5*0=%@Zn^&4+CgPpKL{PDaM6)f_LKJeVcO+xs9@XJVLM(~jXshc+R6s~t9o$Hr{S3|RF=M#Te3XuAsswA*HxJ> zWJu?vf?v9}X?duWWu)wV>LCa4<~cPi>WeMc#+Xj>0R-l`@ya~Uq%lu-*Fr#e4oyMU zWD$oi)gpvjZOn73$vjsn#4jgvZHO<6fFRCCfYn3rn08SUt|!wkbw)^9O)n_85A2f9 zp!1Q?L0CAj&IS#J@-Z*PIXtTOwZ*6At6Z|i$GP|9ew9uLl*=lLH5;Bnrbn=*M6e`z z*I2J{Vkk>OS0)xGY4AJ>N6lzJgDYG=k1Uhoqu-D`cxIi4dS zm_NQX2*Fq+Hb?mYxXQJfxE$NjINo&Cs19}T#R%hbGDl!}htZXqJZIyYZzaM&&jpfc znzp57rc^+|s`NpO0oW{2CGxJl_R%FS6JtMc$M^oN+*@=s@xZx^=vXX>iODWw*amTF z8|X^1tJy6CwcIqSlQ^#<;(pF(Rk)2O(Y)e*KG?#ed+M1b#`^YR21!QgVzg2BR5KX& zj|$7_a5+14 zTSp&Za)XWVn!NKtk(lbnCTfjPdoA-Mg zJRwDIFoyJrTEftT*)fcW@!AUjtO1l~BO!qWV3+0VJ>*MI;lemUW~EsT@VUz5a}{Li zffivngQtrAvouMtxKacXF(s`5%f-v8cV!jk#FQi>C$HKVS8~lcrUb7Mh|t>txM}^x z)H2W?7jFNPuHBRfx}?nzDOqDLfId3o-Pz)K`BVrroB`6x^@PA9@|`vkicIGeJ~?lg z5MNlrRswwGdId+-SVG-HmT#F*H3eZl$8kO#9+RqPGx8w-oAP;|9un%~8-=)x;Kl+& zc7kCUhKbRDv!O@6MRowSIRu#$v?du#+W}*~XhLkA$qRN&v^6tqYh1E38D2r{Z#lgJ zDAOxg8+4o@4KG8sr z&b@WcT=FRrNxrvuhqoLYI=QOFU)MsbQ^j}%H}>h(X>Yk}4@Jv|31K_xu{`_y4FhN4 zjJFFpJ@e8v7gs2ke8GuZ%cwdFo}9EMm6JK~CPm7{=i1mp)Rgts6+X0w5)|i!;&I~L z$>P)#H%__4W`D^PwWUTjzLpZ&;G?)yuy{eVdviz4Zu!J1aJS^hrxNjsa~(R8VUZoj zkeuhO2M(ID1T;gzk83ZKn9;EH!d(qC)qB@LoAN&~<8inL8*TfvhBBbDQ8V?|{)Ts& zIWXLGJ%*nq4s%GS?eeo_}9sNrNj$Gq#_f~~W`WS<# z6Y)5l(t;tVWsm5I!L6|bD``J!Z>-|4-D%puJMr64H8kz>XYg}S_-V~QKGd`e_(eqi zbW}8c1yGBK)1HofJMx7hU5kjokFbVR!yWnCWUcVs5I=DB;#p1GdtSp92P6d55Y(f* zxQ@qvO^d^!qu=j2^X|Z$!QHY2ys3aU6aSY9ND*+DrJvKwEvEQ@~H}$P+JE9sP$ueI5 ztsk4rgcLvwDTgsr!^_I};qMqmg~SO+G^7_my}W?2K5iJLaKrd(VQv_?x?%V&AwL)z z&kx3*1$CFLE?}J<^1%T7@bFXffHimE)$+i*!UM0i2VNZyJf8<%T@So^F1$ZrpVa(K zLb~U)DvVvUZMyR>N_!4Zol^HsICD`NX|N4$)=7jk;G2+h{z)2a7bl!KNrUZkvraoF z4UA-dn34wDED#O0-OV~{L>gFx_rsJl*q&ZAp5re#;@)=M{ud$YSRFy@EjqQp8drzi z-lg+b=%^dEyS;?G#`HWS0x#?4J(j_urnW<;u4FDmyVa1j0`7$($3In;bZIAn=+a&! zT@2lzOWl&+73fp9>d(O?Ug1fTHWi2_ZA;R`{upSo6O(2glV%-Hn!X@3X@`<#T|txm zn>6d1H0yfOq^)|%`2pUJTno*Rq2rs^W@>}$E=V2BL_bm=blm-~fq*%EOG6L5Mjm*L zJ@67d@S1qQntH&RdBB=`z*-2H(~q=t;Zd)wuhe&ap>K{r60Yo`zNfya6EA(UEOjGk zHWW1ZL6`nw&yg?*Ooq$u33@6>ned+;Y| zvAu5BSxf9}f)?qt^q}(rEci*d!cT0rTnjM%B_eeVsh~XpTAJ1!sS7XgDMp-u$HL4H z-{f`$B8X6SH7FNd?vIj^l4ZDFjNIr0qzzAnic96=^5ZZAiBx?LxW(=}x5GNPCd(LfVUTH_|;w z`;hKMx)14oqz8~5M0yD6VWdZp9z}W#>2V|~;$KKlBJD?F9iPVcGf2-OJ%@Av>3O6V zkp7MIBGOApFC)Ez^eWP8NUtNkf%GQQTS#vsy@PZR=@8Okq<4|tLwXaJQl-F zP2|F1CLA`x;ppk=!+}Se35PSOFTNYX1u)-ObkA@YKRZJtjF*NSiH;fu22mLLBgHq* z=`ddr2F~yNsH#Y~G(HG$(Mlzuz0qWd?GQ1fi-|Aa_0k$cB?R;gnn_K5I7~BWeh5|j zzb#;1gzyLxF0Fb5rw3sg^Zd<$akhL}tW9ds)_p$FH?EA#GvMZjI;8ewz%8#ohjD0H zcO&42$>6?opd^AD7Ajzm65T9Ii*VzGd%z+*V6-B4S(=X<7VQC}^|>Fkr$kn;svM8c)@8sUT|877o4`@hJS#c%-IHW{z7k{H9&CL z2J88Q@z+!QRRbi@-w%j0;O$Q{8o|QRX<7_>slH8PNO=0+xGt}SolYQ3i#|>5xj%Si zpD4%Bj(v*wH{kom7zrn>IGDk5{BHALz?UEuX<N~T~9TYlnBvz3Uu2nm}mT0C3|qqO+b_@|A; z$*s!pTnMkV_|b%@Pb5llaVZ3}qOq^hNz_2n(n4`y_$sl!J{fDmErSTsQi+nG2piv} z48iH}sAw#8YGq{mn<%MjRU50-Y3z!#=W5SAUBP9NOn%og7$#o@BA^ zGjk!x)iraW$kj7*VaU}tbK%G}Fmn;eHAHT4h+LUo0#QzPBL}Wb7wL@*%usM#sUH>^tP3bte^UIe|kHgJu{wG}4=zxll(g%#jOs`Tz)WE&g22BpLEA(VDM-Enw9IPBUSUGZNV{o9) zA%|*$0|)cvIDH|d<`BL@Z)fJn!OD??l_Li$M-J@`4)kE;P)l&Yb}8<4Fla^#4js)L zIdn2}n>qG}9%e4gagY7M!X$^Dz+@fhtI45(;J{d9ncmBw!u`ml zdT%pF4t>lVIav3|!OD@tRlp>NSbUR1Bf$X&BhcfnHmEQjS*rInbL7y^%#p)2W{w=J z969vIJ#yeULJkRn1I{es-TyRioa1>dlUu#gQAnK51=2(XjW{!0jY35i5E5|yF!aZ`Rh;MR85*)bOcfFo%l&dJ} zFxt$q4r9z5>tNku9ddAw>+%&5zg@4BI;VT2-da${kzH`kH7HaP@{cuhlt0hRQGV+l z<+pN_e;hE$ffGk^NERG0CBeOXgGyz=LDjpmXl13L%A%F6dv*;~hWyL)0)s;pgF_p^ z0Y4*xd*clbRRo6#W{!23Xy#alNoI~5tQA!%jB#&@QLd`sFxAYF z!!$ET4%5vXIaoPzn1Orb!1)U~v=bcg_G4`oPPIzgtOgFNb;Y3?w6xmfz#Z$=Ce3Q- z3-(+DsLV1rR5v)Z7aVZx7(QvX!J#@hG&1X69UK~&TB;5X_In(om6ocDc9>&uV64YF zbPybH+6Elv8XRf}4)e?$ITV^Xan@S|eju*9HJ%b}%O4lUJkXsH(3!O~JKp`{{& z!xaXH&VmDXwQs=L71`3hx{t61M) z=Ez~AnG18=3wPwm;YMJR1NB4>-35nwg2N_*N5BE6%^d5n-ON!-x0pF<$;y$#4%{OLwjt}#L)4)GIIPug zHOe&*9Cn&Ha=6XRu@1MJIo83-k;5+BBL`Xp>mWHa1c!C{9Y#5BF|OC|G;^Wa27R}g z3v=YcwT=27^In8@qkb21#5Ou&%eV6{Ap;`bO7j7-sQPba4w-)%g0QgOu zmFEIra-@aN1;FZ+t@~U699O~0a{;irZ9y;+PWGF&)_v~K6qT2GwLr)=kw-=8nB}$q z0$~~L`|$t8-g|)8Rb1`DdrPt<+;EjEE^^0>UQCy4Ff~93p(ogMutAiB z;v`hlLNA68N=y$mq4#b~384f+3+2A=S~IiGoHGjf?!C`{|9hX$=h>EKY482MYwDUc zv*z$`-f76%vR=V@BRfm}Tby5m|G5=~b!>57{L$4f)~`eJYu%m9g+ue=kKRd~!y-q| zVfl5C5s$fbSblv-l_PaSNL3(pV@S0?>ZXutiPX&@Rf*IsAytLc>X2%M)U8N854@hB zJpiYO43aG{cTkk#h=f<_}=_6@9&un{e(i5m&?jTTFx z7d_sXz!Iy>X0vFcMpBur(u(rmUUXD?-AT=Err7%HkdSc}Uwj|u-NiBvFvT*?Z;NFc zBxIaJ7T?GAQY_;H;QGPAr#AK(-+FDqrDA(@m}=8Zq~f$ zd*pv`_pnFVGxwh*1zz;MqRw@%{B}IyJJ-GPKZaC!wpV^fNL3(pXGpa`>aLK2;efq` zY7cR6*&FrWyy*Mne{y%yi{3I{6H?{bzWF^!(T?JluKnaW-J;O~ss3Qizp;t&ooHt8 znN&ct{bh$FedaCmd)@mg@Q!`+``r6DaN7GSFl^fUIIi)1Rq{T1$@P8okhje5ckgR~ z_x&V)0I9oW<&9n(ev}jYC%$8Sc?V4>eFuHuE%OK6JGjpJll&p~4stJi2YVO3qgviU zPq)59+(X|m@7XusPd-`(ZQVWnOYgz-Rd@}Md+47ny$3_I z+%rh-p@;RSC0OjisNWFLk3Le>kN(kOUhLU;?@)Oky`80)?CE&VaJh&6%F=t-^YNY$ zat}R@rT4HWJ%7rbUcX}Q>@j(7oxG1eJYvS>#~zgTjFx-o zg)6;>Ju2@RBlpmcMqcrI*u(OkvBHa^h)ub7?V9S@0lR?(63Z_4|{6fv#H!e&rs<-?74Z*M7f8)ol-vR$$8Ht zxrg4F_#XOKc0vR8{*`UBEg|urA($WgkNxg{^FMjV|B8Qw{cDZmIazqtB=zm>?wKO@ z^e)kb@2Pe7)XP1!xaa3l{?nx9YJO&Kp+iUl>|vQ@Ru?j=02#GJhY3^kNx@@M0N<>|&YtGIGyleohPy#W*9v@lzRx-eMVtT9c_B z;>8Njs*FQvmcJqITMB1BF*syq`6v7zixeu833wit8;85BNXB8USjJ(jSjJ(iSjJ(h zSjJ(gSjJ(fQ06BTyGpFd-O_F6*xT6rr=3g?sPt~E^)8ho^_P$;L+Y;~RgM(%lvp`x z{B9DMBQZIy58>C(gskTV5 z9w>S{q+UXb0~T9S11_Dcl!0lZ#M1Ci_D_uxRimkLxL{w!y_%{(K>ISJI3Z!AN~4pv z#9b_V285QO74cM}gAi=a0Dqoj-_A{T6jwI_(NokYaXWlBCrOPG!NYg6S6n3T<^*YR zwv)pw518fXfef>}Sxoi@4Y+h`5GPTM*&9d`lM|^%i5Aicmd9it%mXe|Pfns#&x#1M zqFGG#HVwFRvk)g*jS`PUOpfP`5}8CyPPSCf77-?UeZ_1cm~4N{+ZN4YvNt29ZXcpm zu%E;}5tC)LzeGV1lexQ(=+8cUzn~}C?C0byafiobw9$cbv}JL5vbQ9rZYbhJu2JHw zh{?&^9ujdyOit!hPfp|(XVdYN%DtYIA#YXAI;8KZ!du_N{hT!6tkXojVh`PbOSc_y zGPs|_c=35o2=|w0FTR%(Le-sz(vcS2jp76!Y#&H_qn-P_1F6= z!~Ipb<4ebbkzu8I!cm+&bW;>3=8Y0BNFLmF)hLmJd~aLu&~j)iJba(p7CgMXkVji7 z2YnCo;~U2Vhjt`*&~hLT-8#j|f1|`I@_BB~YLuu&^5BsWiq{T27Rc5imHYb8F3OK~ z!hqWZtPHq~>sOcu`4nq_&v|a+x?F19`oO(h*LA>?HldeS;av!| zKuzopc`L}D!&uDE3)#Y4KOJSH2iCjA%A1=dL zQ(o@*bO?Oz&Njkb;VyqlZPw#j{YbOz=&PTmqnGVqNokIumK_rqq)+u=QTXP@KmtzDkIthx?%F(> zZf~1M)AfBym`8I1sLi9f0o3Nv-B3eq9?cD)Hjn1vK{k)(;XyW!?uMFb^XP6EZ*3mk z4K}LHqr1UMw0U$l*lIS9?gqQZ=F#+GG~m*CG@bK}Str-txZ$)Zs}3nzJ8YjE>AOcG zN_S|aws&`EV{_W>(B@41iIT0{2Mbw8p^wS2<`?*afIN3 zM{3{o0Oki_9^E5g_J}ZhG>b`33^8>c%>{(Utc%0s#?+<^Tb%@x8&egNn^J8a%}uGQ zCpV<3p5)k5FsVsTlvrcd4ez0a*%KvJsyn?ud(8UlpI{_SNor566lJGxd;Y zaQz#06v;+cVr~d7w@ZF)2rlOaYi~nv=_w=ahTt+f=S~=M*)Yk4UMF(VIX4$WW{aPT zc--iENVbv7la0VdEtrjvC!6KR<0YSU4D>m2T z*4L&m*W)2lS`NLW9Q<6bS15;GQVxE8*(-_pJR*iK!7U5R>fpWNiP8Ew87J59w-q?i z=45>3!6C4$kA_W1>Aq$AmifE&KKcu5z`EFX**hWQa!T=ieG;<130c2{jPuRn_idbz z4M@laCS-#WvcU=2kc4cLgluSmY-xU?_*RD{WWy7(5eeDI0-5(Ok4nhu60*?=*_ecE zY(hqBwK$*0Cu9>6vP~1Ri3!=Hgluv`hBb(Yi(l?*fLy&qHPUiEMVhUZ+n<}VUaqy) zgqBkyEysH-YC_AYLCdjuNDW%fRl#FXgP!A%tOoC5&ry@?IeG(^Txz5T?+q?CXXQp| zo3rxRHk-5d2A|8qoV7Rj=zOd<_}HAaH~3s3di9nbwYTHa8(a$KtU8*oy^%|;aN!!E z%~flKOF5orZ&fQ?m|wM$FMh6C8+g?6ASIZ>a0*(YFCQfcJk)cl0G!O}+1+ zFSuM8%As$l7k$CSyhnY(ah`X;%s?;;oV9&yulBet3-mwv*fpDPC*1E)QE zzo;Dg1s?qZ50*ne;nA2Vd)91Xs;8*GVD@*I+{WFQZR{}n1G7PN=`WbR9Qp^${t;&X zW-;0K5>tId8v}Fu-1`GI2Ijrl0Efw=>C_*z{bGT(G*`*QqT@J2Bx(`9<^%z zfQ^you|I&dWdQJY7OmLRACL_MGFOHMg4K^(v>XY{q8)^1%%UBHH=9K}2%4BhI|$mC zMLP)Em_<7X8kt2q2pXA1I|v$?MLP%@nMFGYHP$TJL6Jo}D6(h=MHcO#$fD&q)__Yb z+QCvE2D$pc18|$N!6C&u=q=j8QYV(-N#^R{P$vdUo#1SN^>DDO6Qx!i$I1p=Sv_0c z5W)49G>-r@OL_=$(%RvW2zN-p9TITKXNchHo7oO|yd(SOA;`f}E*zuDMJ?S;z-5Pg z6Q}hi;PQDk6e+%U6L2|AYR@L%u|&@LQ+W$KL%dDE}wU@p&w zIZPg1xFQ=KQsp=c(Dy?_fx9yFLqnneal&UPaLuY63f$A3yb80d5qKB%9}4}CEBI*N zOxuH8)T$i@E-SN<4t*H7EYC(EMLmZ>|8wNM!-R+TA`AnMl}_Fg?_&Au{gpUhkohtU zHTi?A&hZ$QPjC1HCgvIv`pMB?Z2jbDu(p13G+0|dIU3BZpBxS5)=!R(`bmBls`Zl$ zAFzIMbkt9dj{3>bQ9n64>L+OvH{jBKa*UJ#Ha|(-9wTKiDWnSf$uUw6%kU&~bxbIS zF;Wh`pB$4c2imZ-yNRp)?y;fl#{$!4{$m5?*a&lMvzQ#|iK+eJ zIKixUnBxR2)?Fvp3Wi}4h>j0>3KBFu5kVshRtF=Omoxk&E_mlZ1<3Kbs_6%3YpM5-!Y_Nus}>lS~RcCIud}K_&^0 z)SQI#NMhF3^KFv_v%;10WWn_7W|ITvWYL{1gk>=~U``I0D)+iihVC{enVi&}b64`v zxzQBxusO*T@US__6!0)xXbQO4oMcKU|0$vT$z_U^KQ){ZmBW-0F5ISj3l=i>FIypA z9rO6Chkl>FAo_af|IxpDsd|O{|0jz-qaOMc`v#^aWYZF|8420UgltwqHaj8PEFqgy zAoKh5=8EiI)ByZ*djaQ(EZ*NXKOtL?kZqojZIO^|nUHOjkZqliZIh6(MHJ`#b_v-I z3E9GgY{!Ibr-W?hglv}rna}543uHc@cT322FOqRQtcR=tm(JhorLFimbG@_`KWDC& zw!(T}AN3RUp`Fx+cEWz5-u08EeG}^~F?F6kRWSXWd8%OgIrCIt>YRD1VETSyYQUTt zVNPuplkI|-I!~VlOq(-L1E$THrvX#v%+r8rbLMHl)UjzAFwJ*04VX4(o`ycb=FHR3 zC&Y7R<{#VR0oe?+3tE6Pz~#p+K(<%20B7PEvjAs;zgd7Y!QU)Ee$|;-fHR?kS%5R4 zhgpC#p@&(3Gogpgl=CEx4N@ z#dps}PO4=v8<_Pu`ze)s>wk8HIlEa*_LvR0)B@a0Fy}bT%>;91@?{Qp4sd74OneS-XXeab z@|gqNMNUo&a31(`Mmz^KU8l4L+ zSBAZgbHPQe(YfGa*63VtQEPOrjK~O}5H54UrL_Dx0+EYahV#H>cD{u}p9e07V9j53 zoQHhT7C%qQ!ds*Bz(cLkdEjBz=)7jjf;ESjY8lR#^54o~&KLc+c9`>lsda9CggHN8 z&W|wXH;c&;l$dG(E)dLZ9OeSS+}2?(2$%~Z%mu*IS?+=eb3wD19HEJ+7U1Tdl}@D{?w zTfkcg7xp__i2mLJ-XieWBJg0}vW4(SS-`YBh^eFLmV)Um;4KByTfkce%q>NCKeBBZ zFt-etY;Riz-M579W&v-R)ScE2dFTkcm6Uz0EBmd$!z|#fz{4!yt-!@B;H^UWZv`&q zmETIrpZT>_R1RAuxzNfY7ae)G7B1ex*jl)F3u9~H!uM_+mBZG7$JT)d%Yom|$=P3N z+0%+6rh3S?5lnAkY$KT7!q^6wYGG_6n7$mg37FeNnA>C1*TaT+XB-pjBSzUW?^iLJdZ65T6MHe$z{0A#I_Ut{p@!; zaIrP+?Z8F*o9#q@-^Xni^xrPhe>7 zvoNx17DiUh!pN$jZQp=Pt(qMr=eKt)Z%4`b9YTsZ@BRNfO71VilWgrfhTPv#a-X9v zYy6JM+-Hf?PH4cDNr~?yxC8*psg6XY;#lTeSV6kBO za#$QN7e|}wNfN9pj9>7%VU=LuLb+898%{tfv zd2ZIh9?0`j>wtBWT+|}lQ}p-N!Jgn^*1?|OqSgVwbK2Iw_6+*(8R?I>goHo-dBl1g zQl252%{-tQ#LqcOJuZ6A`LEfd=-3@&_{w&{r>crU{5Myqr;m|rl$p9AsX z&pLeglcyr^=MG|^wEHgw?~g!bLo9YOc%M~4|8e26UnRa&?Qk3ousqK${9T@XeSMzo z1JCDC&*a$_@8;Py-{jeSZOXFCx|hLtD1#;ptNQ=<_vZfZ59)89$3gwaAP+QXpFy)X zceKB2Q2#L~-@>4NyPx5m>sq$Y{oggH-|p9-{`CW%2KC$X8q{xi8q{xp*PwoTp9b~Y z-!-V;{;om&me!ztyI+I)?eF!d%r{pZg9=m;g8EsHI55GW!XTx;$BuH|P&{yzC1hx8 zCHDabvOW1DTZ-@*Vzfxy#}-wLfy!MXV|(=XEkyth-`7fHsP_El9R6%UcHhpTTWgW| z;Cc;^Z&Pre#E8+7D96PSlH+1aT$Q*O>%<{y|6%M7V>K9|!RU&PxVQtR z8W;C=b4NG#TXUCnH(Z40PG{~=W;S!DG50Ul;Nm{BT3mf_aWvu>#1Vqy0{2#NmlJpO za4!${!fGi*DPGKanU^zPK$L{T)W|Fz_kaiMqG<K8cBpat;OD-$_QSP5 zuAksK0M|jd&ynUhv?{)jo05uU-3w$(b8SC83S^#3&xCBlglwaPtXGkYMi&2d$XPKso#)uw z0YOX6eKbG?H>26{ZG1zHPsjW(AytOdUqh-KDdw}@S%K7(A=Lt@r$P#0lljvjRf$IZ zOh{GXZ+<$@b22;T&xOC?Z2$cEkZO(83nA48sTV`4EmEu-%B3ArFCj&foxLkNBAw22 z++H2R9XV#LmS)4}%3vzpn!W1Y!g1|~Y#CBC&w0?pYI!@(r@~z`=;2oU9viIT4+QLaYvlU+_=})scrnSf0>o z&^+Ox5SAw`q#X1;%oBEX8{5v#+27(6I~bx7aMgCZ1@2SpfWWzd}mMcf(=D4?a3 z#^eZ3Or75IP>AY$Eo9V_heCAD_rhPPCl7_#KYVFzOHpa`8h@}LMi5TiAC z?2YMS=@gOH7%_E<%mX1-%V1AT&RkZ@u+Mzufe=~_JP^X#8V`ifa^QgwhS{ds`o__o zm^ww~;SYO?VL?pJnU;u&K};V0pnCG~hkY>*)H=b#A5_n_5hf3RNb5;!f|xoL=0Oj8 zim^jX9`vw8Od4YHpa;d|K@atf6Lo_-7 z)5{C{4<6w_%rW`ce4Kp7=Q?iEnj@wi-B6v==p-hOZs?rTJS8SaJngeM-dLZ-USBbJ zbc6L-Jh~yRC#@J_+VKq4`TLL&lgBf3&Obnkm^_|AF?l>gb>2V7JtmK5*gzK9_36s& z_xRR3|E?-bCXPgk{T7dBDDAgsrIL#s&rqGy$mZL4Ji`((w>8DB_p~@QRe>+6U*`Dm zhz4y({8C}7Up%7WZ`i(Hip!pzxOMe>8;@wH&S}(ZinuiIHC2eqV;T&X$22G|zaL0( znQuI%;cxEgD&TXPz&zkF4W(RYfs=~`@mJ?d9Xf5U>U>#9m1D~1^MHZ;HTg1^2Mpxz zE%lv&{FVm{t%li}yq#u$E{&Rfoch^gNj#6WR7pooFu zc0duot5y#v(jala)WjfhJ)lT~#C_f}NPHjsrSvc&&a#N9-z3B!@!I@krzeBN`{buM zJsBk4SIUz?;{8JZ#USxYCoj~KLE`=M2?_g$vp8aIDtXHw@!I@UhshxEKKXKo$slpX zWRQ5jP;VI|u9yrGx4dPLcp8(lL}E@9Oa_G4<|`Z~1H${{r#Vapge&HTk)8|&S4;+j z8zzIn)0muv5>vl_h=Jd=`RNXmf!}@dCWpzuZ^dNbcfVj;GVoh58Tf6O4E#=Ga$ZVI z{q`OPey_$isc5g%3z)0%O)AP%qeXb@^F% z5BsNHCH)h(1iyrVasM)1n4&}cWLRMQc;~pL^#2vIN!WtM{om-hsDVD-Ti`tdy(5`= zGdO!MzOPS#%zF^}7Rdbj`Xyu>wTj=jaY8mAA){};_}M`PGS6jjLN+8J+aw_ynve}k z$cBrIZon+_N05#X*}Wq3TxeZ-&h^eSH7X(FdV{~uKRa4vm(q=Zs-?%FjuF|0g5kr} z$3`;s@{CK!#z!&@b)S%sZJLmAk;U^{nx7z^*hvL4&u?-<#+kf-miKX9QUe*=lYUoK z4ce0()>eb|WQVmChl4M}lWaE(2iN5#hJ)+aqjDaaM{A)5?a2;n(@^l@Llk>E9`(|H z^#+gX{OnxYHABHW=f6UV?`0^s+FuLhJmMTKDH_7?!M!yR&?*= zFl&Kn;g$^fwk6bB;M!4G4Exq4REB*kE_pKSTf?4fMgL#p&FoKVlk-EiWtM|}S5+VB z*FJ`f`NvT3)!{%3hJtH9#Zd4cFz#u-Fce(-HHLzlZ-AlTY2N_*3hHm)z_kkRQ%r_^ zpMe+qRN*!RhJD*M1crTIE<73bZQBqS_I-tu7lyhtANEcCr%Czu1Mn)z59-gbZ#ycE zVc)-!_m+lzD-VW!D-YU0{e(yHHU!pv_JP!2F&Xx~DjX5Vu)sz_Z%g_8QTC-9-PrF^_vxZLL%|y{l4{N~6x^2b847Ookm2CAl+SQ* zt%nQ;w|2;IaIJ?71#g7SruC4a;H6yH-!o5?%K+ih*KuK(c%v+%P{#qnh2=86ob_*&l#*< zI@jSiN&RPv{tP#-&d+n`3^(tbpN|yv9}NBVy&7u1EuK`l=fO~O>-!jLzCm7{uu(Y< zQ-8%|sCjk1(qS^xymS5=hsjWL#blWIWe8(bOoo}O?hG?G-5F-??=P(T3^Om)ont?B zpC!68%)C1Pt>eKk^UnG291n(>>w6hyei;IamB%K52gA%wcZQj7fNxqX#iVUP-4&Bz z=GFNH4wGT#o%0JF=Fou25cA70A}A(9%vE=Wm>VWT%+r{(U8v`5(Uali)%isZli}o@ z^NSrO!^u@ohLam6!^stMScEyOSxnkS)Kf7TI=&~YZEaT!9bXcToE#2JwUrq*ZrfFc z15@Yn!+~krRTwsIM@}+y+_tMQbiC9TNt=wVcr($Tq2mMcOB@%5jt|H$b^4D0mw__h zV%Yege7ehXhK&z!a`Xh@_(z6~`}?bK$11#s<1E9* z!XL$FXcO9s7=yiSMXV0oZAGjO+-*gy4*YFJtPcEbMXV0_X)9uN(7{&3>X4tdB31`I zY(=aNd~8Lm4!&bs5vzkA*H*;p;9<2Du{!uZZAFY0Etk7>MU0{7)%oQ}Q(K0jch0W} zDb_}MWAtydxRxQsUWcLRS|b^Tt{yLy`yPNH=+*g^co$2AA?R_5a1^E`O)i<#3Kuc}ZFO!8a@V|F3?jGHIR=rd^}`@?TNPpuxmrtOz-2WySt*w>NiMYD$wgPn7+Ag> zzB|=j1Iw>QiaIi|To1iqVEGx@e3vJwz;eCckHTZYV@-CA<1rRIN)I<+A4?v(O2%OG zrf?932AdCetQc%=dBTA6rfiwxk_tE{7Y#UPd5!~@d%{5&Yo}VN2l!50f!wA8^^Oa6scn}8z&-EaV3Bb04I3^^^gtIa7 z(3La>qc4{&A=HGy=qqG%h^7h;zhFSR9Ztf4bUmDe0qM4y#DMhEh2y5eWvt{%N4z;z zKR62{ml`P(2B|NXEh$82kopSQoT8~hE(}t)gE$zZu3Q+TZd@3ou3Q+T{()?GVf$r} zdTCwd?2}w-g$sk!*M?))8Kk~8y8(Y?{a}##I?<6q>iy)~;Z@!O8*j*#LF&V#XQ#!; zAoXEbt+YO)uUjGD?3OK{uV6AreMEjE(tHPl)JNnuIZOtrkCb;aNPSf9trrHVk8pAv z5h9r6G8vfu{wi$iX^HnxcLu4yja>t}!r$8Q;Eb9)bcKyU>Lc=-9giu(;}*w*LF)Qm z2B;ek2B<5KDbU?`FhJekU&w<2>M;*`qh?{rWdAbypfniW{7|};+WVnS24DKDxYe4T zs-^P3-a~IxJ^t?Z%y>`2G?A&N!^=1(7kU!-?2LqLW|W$E{yFc=Jdwqm*+Um|UQi(OxSJ=S;YTQsokixoTUtiDBxJiL zWV_0o1$yS7s=ZRb|kb{Mp-ZGl1SPlSG*LF?Lf7_@F}he7N9 zezu+4@E*3|`jWQ8{(|*;aQ+9mrxvOI#3E$5)Y^J+cVddfAJsMK}W* zRp+-O%^aEmjXLLl45>nka0WCoi*N=sQj2f~v{8$YJ^2i1lb(mNhaj$6e=~t=)*nOS z&H7_VyjeO7i8t$yA@OScF&y5kznQ>Q>yM%EX8kb~-bNL_UyD5xxv2HWVD{?#4yQGP z**oWVBE?Z+7P#mfZ5DV;3PI%zWLN!X1^xAYZxPP|kLvs`yoWV%R+0yML-J7TkHPJ$ zvb!A*2DhJ){VAjh{c;R&H{Zl;aJgK{j{)xHmt%mt`sHSWi}@yIgG;GDh`lhmsP)I7 z_f_z-YrSC5`x)6iNKr=yy{nH*gWkPwfcaz$$J|gK80>DA4TIgaJ}}tbd?XBZ*ZRX?_v-vXyodFH!S1E?lA{@UsI|vn z_euFfjt7I?C*^;3JQ(agS*#icyIZ|vu)CMz@S9-mFxXvr%o83DJ0A0rJUD`qM{PZG zfC2E6@<))?6nQ*~6zc*5;1!Pn@YYTl0Pp36JQx74Jmw3J$M7EJ$NVG@j@sm*)*pl7 zC*_Yj9t?_~lt1BkFeqN}7!+^$!Jv3AFXX|Xc;&G`c>KljSdipFOMyJp`ujg0C{Hdr zn*M(mC{Ik?clCcZP@X(=FBSvkZ3ePZwu?f zz9L{-SQqvc0o%g5u&)T%7W&&)1kjFcz@^rOhO$3}JYmnFq3lnG6jwOBze&T{m*Gj4 zUU4{kSIB8yq{G>1W71Y`z@^s3_Q=V`>=}o&J#w-sdlo6adwb;MBH^<=a?t{+w?{6j z?_zu8p!zQKe(%rO9=X?;J%{(O$J!pbSL#EdeNG-~Sum`=F?-(e*g<%_;CSp1cR)vFYe4-=Ayv2&mjU&5bPNOPbtf(Z>djxF0rjj) z`1(@h?8|r;%VNi5SujV*MXd`4*-y=1ap(-PpP0Xj6w8=F_S0lEWsv>!;E86C{R}5( z;CW}fP4BNnfDd`>1RhiK*BpAI4Y}H)@?)}OmgYM0`PX*mGPc-PBd9u6YiC^vA9b7I)fU^Ihws!b!TJ{NcF)f7O zNcS3zz*PnR-Wll8_yckR6zi9VD{YEA!LD zeFsM})#GQ8Ot~DAko`O%J2W9XEFn9*K<2$mM-<4sC+SF$#d;hivP;YGBY2mNPTcnk zk@+%GJ${*x9aALZDBl1XFSUIe(6VjsNQ1Pfa@VrsBN=SZLh48c_N00w1LvrPEr*z_ z-^5hgw^1-FfWnr?;}>l22#;UTIVz7{usJG^UeGxzk6y4jDvw^!IVz7{usQ0#KYBrJ z-$mfj6!wnr=!K@Nk7K1rFZkYM5xCgik<{@E>`nCe1?sdY>P;4*H+e0)4eJ{GoC8~r zd9v8$iN+@^7A}1q`eNbI4=KKPG4e!vSRTpH6!wn%*pUpSnCvT94jP}ZhhX-1n0p8& zSDlH;BN-Z`eD)B`ad=AQzE|gw4BD%+?0F;uN3>E*_C>_h_=G(L)9)S8qZi(F40!ZH zL)f3s;}>joE_M6@`CyISjV60WdA=v|{8W6g^{MiC$>llwKyuNzg(bqp?;Tkp`oHJ& zUji|=?k@d2Ejtj?*23#7Oun)M{d~+XgSsV81?E@}4-`odW zY`(b^k>_fbZmejt`|DPpaw9GM)T*eBQ{e;Wk9r}L4<)e@)zlh6zfy;ivV-TA5DdauM!1=o8eeu|v58S+mf z+@A*Ap9Wm=`KjQtlz)mGT%CO;rQ8vz)U1HE9l5B7;9%i0(`kLMaG4cS%mY7;9~^Nx zIB+>Q;&O1{aiypSIUKo%uWZMA*ykRetgD=d zkcYOLBf!JFTt|S1dAW`N4{O6mfQxy#jsO?+avcFK=H)s9`m2}g2x&Kd_t+8OQtIX6 z{D)lB<94Lv$+s>~j+8v{Ualj-#p2D61Q+vi9SJV#G0o*XTC@&i&V_oF3GsNd01ejFY0OSvl$nUMBVA=p+x$ zFUdo_ZNCs6Ii4WiFNDV%j>j*+L+k4=z{9*hzW@)l6MhkRu#Nmec%<40=dZ-9k@4l1 zz%*~$FM(;^wqF8M?Xq72)4XlJ1g3i1ehEzTw*9hMOwNyqSu2>wh@NFmPo8AelzDI4 zF+tB`fNAs6V}hPM>B_uZ$AtVoM)JGd<@Yfq`OO_k)g8GbDc*kCuB_t8N7)F`KLakGey=N^*w`sO;7GRD?AHm| zISJXh3E6oG+4%|C%1EYq{3enqzuzWgze~t2NXRZMl5yU(6tV_f>NQ>}?Ww}Gr=`-K zyw`YXXirO{_Ovv#r=?MQS{mBZQfW^uTzgtt(w@kJb)G!bYrIT&v~)a{fd{-sNUb@Mz_D94kE5b3Bd>JdPC} z)A1zv9UFKY8}T?c@HiGcrsl03k7JWO*tQ#RssHUb;en$Wr9VGTc(ipqjte}F6CR5l zkK+Q5;{p%%=f??;#)R(dJBX>iw&Mkp2dQxkIbJZ^hg6}Betc98#|PZw1-Gl?b9~VM zcqxbV@h;ju$0zk?pG7X}Ydb->$boF&a)NN_==47!=zoIn*w*2l5O|yrcu@Znn$@3u zA~Dt1cA{W*avGl~nAHyR#DICCV0vHMi2?J(2=l~dG1=!5Q+;hG0kbLV>@ZIPrujEd z5==iYItjSu-#jVco)pTOb@3$N>dMVYlIMQ4$%Eqyd8q&G6yed;@i;|zc%SDf;L#xU z^AzFX%i)y3I`oH-~wuV0xeDseTh;nb)cPEFQ*j+^A7{cXr$yy(TEIOm;IbS}3;LfHmBVRC{b_@ci~8P97cSoSe7bP) zaf_!1{ZEg|;q<`c^oYmlfye2>V?$RCrzd&P?ja97SENaJcz<-0@bIyWO@T*KR1Qsn zM^oUza%gI{9B5Y&Q_mGS1DNKIJ_DHMk4EIOtAl3%)BMp`A;KG2Qdr}`ZyX0W(w_lL z^GBZn{mmbJ2J|oWN7J4o7d>y}OmH!O^qJsd{^&EoMg28rf{XcU&IA|r*PID1=C3&u zTuS{lWJ!CGm=o)%!C9ie_eY;4`g?!$S-`Y;_gTO-fAm?v)p^fZz%_sLS-@3)^jXl~ z{LyDY|5AT6?NoBnb4bn>F5Vw~ws7(O=(8g(XGdJl4qVQTxSSohoGo0uKlKh`;T#{5|40N4Cj z=RjlgW1Rzy&5v~sG&VohIndhtSm%JL`LWJ{=H>%F2i(mEd=ARre8A^KeynpMKh`;s zAB(Go<^$&3paGZqvCf4?jae_(m!1oanzEXZVtevF;B%po*|_IIBb}q43vJYw&vtw+ zv`PDb&vUq$)Z_C6*Za@T6I|~wh}z7e_IJIO<6yeFDsK=IL{*& z^=17AT+AQ+8*njy^l!jL`?ueKi}i260T=DxegiJnzx@VWO8Ylz#d)N*-roYj|K{8A zZ}FVALDY^fh}!W5Q9I@wx&fEA;|rzUZ0zdI zg;H+@gj8XBx-hE47lt}~VW`7w#}`7I(soRL(*W@|>AofPGx2}juT=OyrLp(P{7>{Z zT?FptZ&IJa#RW3I|K*Ybncx3%smS8}FRK!=%M#CCo{(LUkX@OOU6qjiJ|Vk0lBrMY znuP4ygzP$z#s0PH6S5l;vKte!n?&Y)OX|Xw9Tb@Z(6$+|U?X}R5&ko_Sc zyFDTMqsZd2yd!bnosmrSxGRz=7xs9?_3BSWGTK!aLDqmv$D@m+{S0(1<|1i7gOFkm zbrE_5o!eZ5wqxrm7lpQSQD{4Qzn^1WgkGRA8;tjGj(JhC&t;t_4;_mx79K+!kBf!J zCXUC&fyc$dV<$XCyo&>mivtg~;fs@Pn7Uu$Fm=qi1ems#a|tkQE$0$onoW5LaBVH; z65#4u&LzOLwVX?Ut7|!z$oS{iaxQ`XrE58C%MG}6%(+zbAL{hKRP^_2IhTTqt>s(_ zF1D6)DY)ob&ZXdDYdM!n9?&khRLWu)-psPNG+7qxL&!zfP*#D<)O@((f}L(y%Ncax;GuQ%GN}_I@s!HFeRf&M57vpxnynM;7l~OT_SxmYv^A8=foW?fmjhGh z5|;zh)=(~o?z)C@IWTPvtT`tOBHxyzH^3m3BbJ$Tq&&))|gzek=}JmT+# zM=BnX<0diH*L<~L`n{f43uX(4d3C_NT6FjRwyOi?)d7?3;p(9K)zIDcdS0E>ontk5 zsQ>vI@UXp}*GPTn<8tB}@UT51*MN)pLazyR;+m*VTodZVHBmWS11_b$P}&IOqWjcx6!*v1kx(M^SW-)2w5L5ln*9)fiw_Puo-tT$6V0ypj^@6($PqLh^54hI{ zT$TGV`T8i&uScGjuD#H>TAAHFuiZ>M#1zx&Km>fjZvQ87%*>)FmDW)-plFtdeSx|ruv$10;c)aZUUzH z)@}-zHv!Y;o;Lwg%l{@|+T8OdVA|aCCgi#K)^0+cm-^Odlah=2nr{Xd^R3+sF6LXi z8C-Pkc{8}!-1BB|(Yfc%;9_&no57`Y?nyg{HZL*NuY8N>?|o~xi2mNUb_+1g4!Q-n z=3Bc3xH=x*0$lU0-2zWItg zz-4vBWp&`PTDW-M+Ug`1+W6$6{^nc3#rAsM3NE(S^Hy-t^1l^4Y_I37;GyI4t>9sM zJ#PgM+v|C&w8hVXM4RkZa4FsE$+?Ak1#Sbf|IPacZo~W3KX4nKR{sEJ9tULOWTdUl z{s8tr?jPXH#QX!d;~Dc0+zwpx58Muo%|CEEv^M|1?a*DVq>d?8CgD z?~hWBzCZnAD91mBa%4aDM`%;(A7Go}+>N-I*mQRYuJ=paA-LWzaR+kJ+SDBp?i~U5 zj)2R4{0_n873u_HN|9Q@HF9QiXYN zXT;^sz~#<}%bkJCox)|J<8o(`3+JljqBi|q;9|bDyTHYKYj+`Ew12w`Jgk4a3p})c zy9+$5f4d7jO8YnF7JFcAF?R#O|K{7y-FQyh&fTHyaHf1fHc2$8&HeAT=Os83taOr-5ZSo_X5}aOZNg-{Y&=( z*ZfQO0$2S@_e#I({Y&>E2TT1+>>0>K{Y&?OOJi2=w7w5q8ndZLQP2CpMQ!=}z+*9b zB`^23%zcsm_kqVEJRjRE9Cz6BG~iM{(*3~PFPr8t?-$JJ4)cCs>i2Kl56u0rPew8C zhwl3Q8}|eA)DVe%KQIrJ^1C0pAAv9TR@>=*8FPxydS`D(-F3`)Ky;t!csw9HW;q@Y z1Rf7WJRSfKwc{R$cswAwvmQMF9*x;-$K!z{5B9JPxYW1wpybD9j>m(-V~*qTVBqm! z#N)w`9}h-69t`>MpybC~$K$~y5BBQJk6N)!9ugk&9FK>D$9%`*p}^yzh{r?Vp|<`* zfd|{dL*TJD#<|k-csXh`;8NexpQQ{IILto_=H?Fb&%o6B_h(=(&bZpndim#227it) z|14#Ys(&1nsHggo9u~|k9OlD15#Tl8Qh(7S zz+9PaATADF6#dn^e^?> z(So4<>Mwd+xOl(a;PH6i!8-o9@JRXXXrVOVQh(7C zg6aKsPY9;>+dUC5pAby%FM1+iJ`pg<@rj`O6DWK0+dWaDJI@NDRkRaM<>00N?-Ej! z?2I}>eL0RFkZmjVs1~UovvTE5Xmou`RU7kD}TF|rLVbLVdf`|4J&w_{b9?ymr^la3Eo-JuXv|MP*lZRSM&w)o{ zwu|HO9C$S0Y&Y%6o&yi_d_O1U<9o8_z(uWw=R*0g2YC)$(iRiv3&d56>3PB3)!{x5 z+{SD-r~mVU%NF^(VD5vbSoY5c%;yEOGvvg4zFADpM~JD`(F=mPyTg1zFdH1^3jy;5 z!JO_eUkI2l1U<>+1;Hf87m(+TStH)VdiVnJywqCc9Ed#BI(iX2rsj(rj~BsXYQEU< zco972$PSf_`cuaNjmbjy9kXMHLx$3xwxCGgM@{3Y&SA+#EvZ+9%U+Jl ztHPz+<;knUg*v_p9yWr%8hE@Kc(5E^6&|S(oO5Jis@3$GVD9ZOUlU9}g1;6pUlU9} zg1;6pUkjKlpVxx!uSNaOYf0TXFDDPRq+S;u`#2u23y*z~;(K2YJYE+b{qdB_eHpwi zJlGGY+?T=Y!ec+Yhi&rp5+3wvt>{Rf)>HC*a{inqJ=mwJnMaF?h1BZV)%gwI`t!cDzf)0Df7Oie~8Tc!_*h_naE-v9@iQ?hR>^i zCS+eEWM3v^UnOK;CuH9wWdBOYzD>x!OUS-Y$bKl2aXfzmGPWn34ZI=kX@A$A-jMe6 zlaMOx*WN&zvfaLKgtq-g)TZ7DZTk&rQ+{UhMoF6@7uI`n(OJTq!sP&m{-$s_5Gl6R zH$&TgQ`)v4=iUrF-i&y>8F;)YJPyKp*tXwH@_5Vf(3R%5gvU=EkGF)!!H&mUfyZ0I z!}oP>1s-ojJl+aC-irFVw~{>AzL_7o%KWzQ_?hGJw(vM4qzcRC?Wk zyd9Oz+et3$SI9+IpVtbPpF8xm!sSqxCu>8Vtc}WMZQ!vs;;}aHSSvgZ!+TgZYm+?K zmyt)E*dXr+kHa00cZA0gj>kKJ$2(Ekyc2l56Y+Q_@OURGn|G2t*ng6Tu12o|4_g^u z2OhREz79OpYqJhKY-M~Mcr?gta~*it%J@3);JS=j(d)p)R>s$XOXUY7#R@B}FA6un<7kt!n^)C3>D)qbIqpQ^Kf{U$EzY8vVFVG5dupzrRDHCamFVEBQM#vK8vTLn9lT{tk_FuK9OpWB!M~L!0yp zHEj>#s{i35!9B(yeI&R`kz&byB)H7|kAP`Ae?JPC9|cUk-|sT|2)WmoEyH`**L{TC zD~&>-y+a=AfA|VE)c$oj;WALzc{V}+h|KVeBQUAlo;9~xVkDb^FMqH zE~Wkl+F9hH{)bN_PyC50pGcngUAUisi|xYw1YB$v?kC`)yKp}N7u$vViIfHN@e|3H zV_m*{lFS#{cjTfzh);!!Kgr}%;o?s+`Bb>@y`M%rJ`FrRjd*+-czh~6j&nRdP4b{k zNgnEx_=oWDK8b&ThxsJ_0UkOA`~y4|2T$@pLOuD1)D!QM_y>5T{UEeiiK#w`&ji!^ zBt8?&23I#f3z(k?=5##8I`~<@{7f*tFW@u5WL|wHx_h6*XQF%Y$`S2k@=%||=fdN7 zAoKapr3~J1bI{KNkI%uwPI37>@c2BG0q3BfOBtk2aiJYf%v$Ns{|QXnf&5Qk+79G@ z0#nDbe*)8XApaAXx&!&2z_cC6|7;eMc0MuH|L}$AS?2WoLiBvg>G?&_^9x{_-|dT_ z=NF-jSq@(aCiCkH$?tMk*S<*BHO?)_L;Vk53XclM<4fW3j^puV;PGX|r(gUlsXynVXL_!B|C4|(#v@bL54 z?*otT0}s}T@0+a?oZAyq=ZZfFrauwn2f_3wg8UFLe-KPRXZ;~y{t#jQki?`9>`w84 z=_yhEe?2v-_!KF6zUUp(s6h3QsTYj+jnrA?sBnqu+`3k8MYN8(cnb z%2v2O3|$veeQ*ay>MSqpPqVx*nj_2oJR{2sBaO1$+x%Hho4+^S#eOWyQ_&o(_vE7f zja;~#=D6g-r62BKf0_#yvdY23`qMn{$Ri$k;E@ZD(_Md>CwZ`~k%#&>%7jOg<54C& zHg-J9z@tHOr%ZVG{-iAMC<{E;hm{GBR8$GuGBMSUQ4Y+B`56wg9GDaHGm)b1<-pYW zcR4U8=6;7rIWTpds~nhf!hF3Pm>OMI4&A5bXF1)=le)A2AP@CnREX|pJ02CH`>#TZ zy8E%DLiAsTC&{rQ=wA`^SGlhb6;XYt0GCobhy510s1KusaQU@EZy{XHL5lBf5$Z#W zs6Mm^JX%CNT7>%0LU^2u_pn~JNb+D`NgjH#OH1K#p5xI{c%1KevVuCxu@iRK7ZX!YcBvH1l@7B~Fn<$Lh2>Bgl|yB~tqi!#ugai*WmFE8N&Ptn zkc*z|QYBn|>(Hx&%kP~2RYCu%s2r*SkE)1ARp3!2JTAa{SPoT59vpYbW1`G~S_zK} z9gkMR<08kSRp8MoDu-5qN2|bt<;Ob3I_LlfGa* zVA{^~^?<26)7Jy0?Mz<}n8R|~xc=iKk2r1;bF%2!S}?mg%+{jkySRhBUu$4m8*Ckw zee0lW>!2&kzIDj+)=}BFPUbnsYjT+)T-pei?v6_v;o_sc+JroB6P10Nz@tsXqfOw^ zMtJnVTUqvPl00Z5kVn1nXe&H=Iv#C>hmQbj8+f#h%D!#j(Khg4*|%-B>}i7lbE#ss z6HFg<*G@3cb>+}5Du;GaIkXG7?E)^#pkAKm%GLUT$NEt@tRHx+ zA9%1F)^D~PXwOmiX`*`vVA^^^2VmNILx+Ib0hqSl&;gh_PImyNtv7T4rmZ)0fd01L z&;k0Ft~bz*r2fjKBe+;3UPo}TNW6~VqWwWfaIyZNBe-aP&=Fj$Kj;W9rI9MM(P*bq z|LLNCC(+-padZ;>{TfFnV45$q6L4*fqZ4q|FVqRRw#Ly3xVpyC3HsX_M!V-fv&cq&;`2Mib5CY zYby#}ps%ecbjb@>6uRVv-+tI7FZ}kyE_va%A9l$L&$i-BgtbUl6uLsA#%z`ALAyeu zrtGqiDqKp-p;4fwLXrW>R~*39ets=q9*+C8Ha1(pECM zMY!DpZnuETUbLIwaxCnI99*4U4jnj(bVCl7t}1YrMJ~Fk&|SFrn78i2We42Bw{?%W zbdR`n4_vxOT)GD?-G$3U$EACc3ukxaqN@r$gi9Y+0zHIFU!U_bt+yARvDVuQ`dI7j1%0gb z_JU5&tq^xHY6e2Bq1A`kPR!4`TbwR6S5HnGS6jXLN+QP zt4qj6CuCz1vat!-xFQ+t2bMWoxAy!sXbp|om9D3$k)GzNkSgqfYtS03=dTI9UQOur zXt&i!ua{c0V!a}+_WZpC*N-^81=o)_y`$c?cZAzJ;P#GidpC>Ax=UQ`qng02)8!Etqr)f0hhgTt>AKus70%{5vMlUv$D;Qi}vz;go__>`Un?4;`E8Q^oh9i z30(R_T>1nqeT0i2arz{=u&t7d_VRtfWqI~{SMq&@%hgCx$G+gAu?2m>;2xZ(-%C}WY^$59EJOWhwUf!u?6fO$V1nT`w5S09glv(<2uKqU*OR%;?Xbg z=ojTjzmOmOln0Q=qhFE-`y}$v_2mBGVWVDu@UT&@KX~Y<*B?A=)awr(I_mWg`N1~P zA3RD&J+?*mdBm&{YiMK9o&5~!)5gGDk+Fx-6!(#P|JugDU70Pzlg#gpfva&P8w1z& z5^N0I)7{fmh}~h&MEy5T>d(HGTxx~O0B~8ET?-k}2MCwzT{#SZ{^vM3d2H`^3;>UR zIC-HpI6!z5?rHaB&%T_PeFbx%V6v|y=0IRB&u(y-0|Vwj(cMS<4Fu*&cfZHfr@4>* zMpuspqWnL|ZbFLs4@~OMF@#)nU3rj{1^ZsUZII~CURP6vWico!i$S3*28FU<9T+5e z@Yh8B=Qu@NT}K`)xa_xyG+1!Qhg2c%VBju?&7^f;aKIfL;SNsX(&FM+_@7u@93KzJ zZkD{O#dmQ1Cl(jSPqVm&;u*8JhC(N^xQ3!!&Egsgoy_7I3Z2a28VbG4;u;FQ%;Fk~ z^0oQWP?WFDmxe|b*U-q~8X8$#LnDi8Xt220QrRk5N;+x|gGPX0fN zHHSeX8#RYPBb_e|gElr_8U}6B^Ch-_;_9e5TyXv9HC%B0=rtTUY4fGw5$^DSJ3QdB z=NK-ytZBoMgEo2%M-GmB2{Jm)nq{jw2;ssN+cRuw6GJ zL!OKT5A8MCQb#sh7PQ!isUzkn!Q9nhjuOm2ILuMN)H&KHVBQgSIgJ8lgXlO)%E9k) z8U@U|QHM(NoE9N5b#$x~%-bDionZdaVb%pb>wsyyZt8-bbrEJ=vwE`EBc_goqXqL0 zhdEj>?{t`>1LkO8+HS7V0dsVOIl5U)_N~O!k#LM)-sLdI2+@v{`@&U{P}Bq`15!8 z@aG@!;m<$e!=HbZK;m|AEpkI|JGk98Kt{B~1fCQ6b{JMT%(Tn)s_KFZx43_0S^fk5 zmCwksKj!VR8zbKa&dNRUIRsN!EJJ6lpj_5+{p^mmk5}HaG|yVL%(B*H1N;lJOYmDi z1i-8rhQQ-#W!bIUmSqPaUTwXj%d$o2N!vo}92;@VkS*=y_YU|U9Sid2+p9i(YQdr{ zr|d5BK_VY4{~s%orILRN)vv4qzigN~OumQ*h6V0kBLCJ+*|^~M z0pTt0O&M75`^8x;Hr4C_cKnoO3(FRkjgo&)Pw_wV?6+0@aRH>6e{F(%JG`R`Uk&FZ zE%@~~6_V!rmvpdn8UAv9M@yGy*2jmYu)PPwt^pi42viK!z_pgcAk2mB?5i{(T;|Re@}2ev~}R8eDu|>jK%* zT#u4wnfd#?3_V1NjCp1EX}+*Eo9q{Yi#Agr)B8FkWZ0Y$?(=$dO2}B>4MX3@`d=*D zAd;zWT@o^GH?wCopE>y{mUS7u7?kvMMMA@#{ zpHRKHh`?&O>%aNvQ3|Y|W)!o{og&9DaPVRKHlsL4do!arM=Ll*4pq=Q3yos*cewLu zyjlNNXcXsYWo8uT=u6Bf&VgxR33(Kjz}|2-e5t#CXW=43jy~GHAcL*zR9tElvmafa zt$~nS*oUmh?g=Rxge-miTj8+?W#~P0`dS8U%qT8H%Ss=Mz!pqgHHymx_xH$NzPlW_ zP1)5*ao}dprLK!|q@_+ z;NKTgg_8r036>YwyyG}<4AHv4a=|7QmlrJs|9-rS<}ez#vYkm z)M&00E)O{LO5yS#QhaY^$cswwSPm1`%RP_EhzCb9EtATKM`e-+M*;FsL%Iq)mS+z+ z9#!D6BKvbl73N8ma9QTKR3T5aeN+W5oTyZROS*k>v)2)DecJ{DCY6aXgvPYc$ zt)Ty2QpZ{W)7nQXVD91M`~o5N$HZ&}%wOY}rOUI2ai|bKkGecx&tcZqv(B(bTb@1Y zFxeZd$R2Z;Y@_NvVk@ycXH8Q**MpumA!B)__2fuNJ=Jy68kpy0k2}oPz&tN|!eO=s z=J}#eYhbPfs+MzWVE)F*`2{P~lQpO{FlotB>uRJ}=O4qdK2ON!FHUEU%EZ?#?`=e9 z?=qrAxgzr}qc)AULGLz^-fcwhzoO^2kJfLF{KVC*=4}PnyNqbhuE^*z zV*PF#^17|$wRab_4VY~s%(l&9(z3V!*KjG{cEG$a`-{u#cEG$a`>V_AcEG$y^0XZ= zFU-c_DROBC%!{48CG2wA2dq==fO%>56h<+Ap26o?$T(S|<-hO`HXtD|uz!S$nYC*ay>+zC0Uqj4u- zT5r<{m^$)w3Ye@hoq(ymZ71ZOjmDjjd!?f>ZBX*i(YP8sY&5PG9)2{g79PGeR)dR; zKpf$eOLfGhI&i6$-oQK4tHGsoG-TZ-7aff|3l~2ccNQ*wH0~Voq_gnwqjBfJqjTWF z*3ua~ewQ49X?E$bqf&mu+4E&;PkRQ6qfsUuAnVCqPt_ft={?k!YjWx3@mJMrGeMD*LV>&%1^^Czr0F?7IpVZ+&zHms0D4 z^@?0{^z9~Gy!FvdxOnTMTPXW(;9(xM`g~xh^vb_J%DT0M-Skd_0a>kYJK#G>O_xF zCwhcBLChY&Oj{qE-w{(6Z+eQZ-umb%x_axQCot9e=o#gC&!A^dV4C&OvspbkeD44##*$}w4c(-A|-7v!4P;gVDKj)~#)quZ^1lN!L8wsu-{Wl7_ zZX~+;(SM_Wxlx3DQsU4@4} z^#ZPb-AXUiYYPnNg?b$y+sMr?-(u+AzpM@x!{ONYvLaiGOAi$~1i$leA>H8O|IV~- zlF`5Mf7$#3eaxSrK8xN7S*^&rK))v?-2-HE2)vwLvwZJ=LHc>mh3F zCu^iVr4BFa?J(7f?=6@WxwhQig4qHoV)hQ0y`>F%E53KY>>V)me&2?BqYc~fqrFSo zFy~inQ`B7pLu$yHo^1>Jo-dD`UD<*gvZN{ zN1r4Q_8sIgs-8K}S9rXFCp5+Uc-8Uf8+h~uk1K=6qHo~QH}GIx=qo%@fhFvlh*>9? z{RHzhhuKebf8AmB3z+>P%zgp0U%+IU^$WW96W!mydsqhjM0X$H@-k*G)Q^4NRoRgs6nG309`8CHgOWTriZM@gMmJb^yytju9d2dzzT+`C@E8mpH)5?#c??E= z+$8xl7(8wY`7szgZg%pj?2YUL$767k2S-lw(AnG&;qf=eV~Fth(D4`&cnp#JnC^HC z3FR^*%8wx-KZYPbmS=x=JccBBaI_{5o#AaFJp9o!n+T7O9IH))hqpL4iOOb^z-5z& z%O-)#Cc?$fxHd_0p_M=`I`bO}F3Yoz9r{pkS)P63@?>bplcC_TGNV1fIx;ly7#i^y z8h8u^kK3|OU7idD51aM-L(GRc9y;?ICOrP(cnkxNCD~^oRp?_K1}+v3Gc0f!1}-|9 zu=gA$Tne|Y`D0LN{ZN0M@Mz3l!C(2_5#XUC=?LMmEXaLZ9T9j?_YuwN z&JrZ1&hSP8b9MHW!yGA?ue*1T445MY)6YOgLU-K+G%{e4<49oMD(wG16?lw_%3xIBF)Hw&?xTdq>I5dORATC^uMU{D z&QS-^D@-|SFM-2fJ^=BfUDLEHt6GyZ}2YaUkCl~3ZHjfKTYeH zTy!QlTDbhnp^p|W-y+5Ljs_R?yp0wfzMmc)c#IA_sQ+l;@gDfU4;zD@I~^viZ({09 zaExGj@5UIx{LW#H5&c;!#|Wk``!NA?Ou!_^F+uk+qWkww_c2M`Y4MYXTF+y_V|n(2 z(|s&>tjqu}HEAqLl6Q;~ z+%lx7&p5%Q{^JC5F`iPn#~cU!?da!m&0=!aLQJ)m#|vh;!yGS|6%KQJz#K1_oOcj& zJoMD##>NLsl~>{m%E)m%^8Bw^3%rN*Z9MY4RQCyvhg!=MghxxqV}kIgbUY>m9utJe z*^b8q@KAeUg7D}HIW3L}(ESGdPV{P|xLvmtpR+RNgIdX(3O?svV(}1t<;-ZiQsZ) z*t$Ite6GxVxlBZUTq*n~g3n#SKA8wUcRP6%+TePQ%S3P~9RoQFB^N!SViLI6apaRE zUp~QKssE&qFOwu+_6c&IFOx$3U_UTP@}+S6^W!dOxx~~XDkcN7DQoRCo(#;UtPN7c zoD57IcP0a~DVy#vCqsAb11AGhR~nd?lYx0n-Zs38{a`z!ST83-|I%3;bCX>3n2IUF zrJd^wrU;kzAw@3UE}9~ImN`CC0-q^?5BX04AMKN;NWZkc>zAgKaG`f<`;PQZ`2&9V z6Lkc04Bf=%{ZI_i(l9Ol)B~~U$I^f;dO7OxT=8+vQxmdjB8xo`%;93s$Bcw*X5xLb z60+F|*=7mZoP=y{LN-ri@sT_nk=i5B5aUs%=JU6FwbX3c|J4X&J4KZIWy$> z%qY)imh{)G=j`vuMUPjRC0sf<^jX5CBT{_ttdQrkqCB4!c+3hsnCG*c{-xs;`%_}- zF)FhKvy;P|Etu5~b9Tt{*-@U)4w$ne%-PLivcD!~y_EB2g6WTu*-S9~F*2J8rXM3W z6WnEZl6kOMz}+n1s@#u}n?-rPSu)Q#PJqi&0IYNfy5+eT>GJ@scT${agWZHacn28OR-vw zU8!9rV;#$MIyIKIf7+>2>WtI09n1gsyXW4we0d)Pv8_5hxVh&$@7#ONx$8Oi-S;kJ z@jl^l4rCem2^ZQEESEA}F3TXxuhfUo`#2UYgDk&NlkkhOEQ2g>7<@WDRBhK7mqC_a z8+;}p>(eZQEMlifUNQAsbu98?xh#V$!}#|*{dd@m|I0;|gvhcSvfQrnj4aC`%kAno z_m_WMT#mBw))tmS9c*!RiQkY(Eib*8i&^vA6zT4XM5L|7u9>t^Zd;B5(b_8j^eK|J7(o-uizvYR_B$uSQGp*8i)q zd&^t@ug2~zZ~ea-ySKdc|7z6wXWjLGT1|W!BkTVwq0xQnL{kSVq0xQnB=?tp{eLAi z^42p}LL*uKUkPnw{h#CFN@x>2R?5DDOBSSHZN8y*>kF~PUcBU+{-hVD+xmh_z>vJK?&FU2VV!r2U zS(xv+S`O>qpXyO-);#Si*sHyVN{a1sp z?2=gxzTPX?tHJj+-O5)(fA1CS)uH;+C!j2{zF(v3!tNTY(X#v_W-RJo06Pnqx-`Jny=kmbAje-U&p>6!1n_1^(UIaO0ed!{|;q4H( z2y)1J&P9-;P8AqAE`l5*ZFTy_ltb40*J?TJ4gtOwc)PMY1lGE8tkrVZHTJcx9BTt| ztaasBtL3me1lEp_gX>DUW?e~M15N%bANJuoQkGtA>NG1!TvOr;qw=|FuAkIGm*jP& zx)9ttjSH@otPjD}hu|7Q^4kzXcd-wbh+L=FavFU&yY|9WO1lPP*Jw8SaF%XU2(CE< zw>bp2B?Q+Jf@=-IT@r$83&FLA;5tHZTSIV{`f!Pe?2fw3hqGnS8G^gqhqGy~@ZoIQ zD?@NsX`Ht<#5Qzw2=1B?+^3TAqlI1z9Q%_zv#Qno$?kNi)&0rtbg6awQ!VqEzLjuX^fo?+E%Ii?#q_(J-#YKD=c-j$;}lu=N=ck!PR|(mcu@u*#J4jrrH2GzUZ%mo1l&7=WT*E;eHuwIn zvN<5jW>=QYt}Gl6Hm58D&hg|czTOt_y;;pSrM(4wZ&nNNi~4NQe5ubC&C~jqTU?%7 z0z9{9o?-qaZ3yxdpRPsowEkraczXV2OF-9_fUYgzEB<8*_|K_m#tbB>tD9I`nPI1tbf@GIo{N*q!n^_{$(rV@cheG$P(sX(oQ0O z@#!wn{Oub`m+11hzQrXj|4TG~>*HMFmj5LI{+H5idT9&POPgCSZEn4=4Yuie3G**$1Cp=!dF`67^)K5sU+Z7C2l%#w zujgO3yL{UNeA`p;@5R(zV4)FEf((3?U*(=lmp59w}9pEYcREJyk>?jUmx;B< zF4bl7tg6Mo;QlGv?Bpr-?`2y5MTX~PTK|t4o|ozRr!JQT>i#lU_sd+}+2$_Ox`(}? zNuPi`#s2NoJnehvotme854}_Kw9kGz17+Un^6hl_vTQotGVj!7{xQhUGVcs6bNV8b zMQq^9b(!0D(=XR$Zr@G6+%5CV17&`>TjrMs%KUP-%#-)5(bpkQv4OA9`rEg|uF(41 zx5KV*%lwK!nP1`Reub+$%lwLzWlmp;JjLF<5@yK=BDuGVsd?JJ;fN}jT>;2O>I+#tirT-M@Zopds<*IF>-4P^veq`^Dw@$-V8+nUOR%*Bh z$Xnl$U-Y^Y&_G3GMaHgzux>2Qdhyq4oIH6-M7HZymFq(2XwxL8y*>nYLkRB15FB?p zCFl3)5FBeFneOHg+$|xvTSIWS`EUudGIF~QXUnBK1b2tVeI>%kroA(Sj`l~g%y(;C zaAo8(A-EkOxO+4%xVqL8g1a{acV7tZejm<$c>946+=C&whcqtOULFq6eM(z=3E+OC zmY}EbIb8z1=-|)k*gie~Z5z^f{@XV6JkNjIhMwp7Z`;uOJpXMQdY|XNZ9~uU{I_lB zfu8?{Hw1C-U%-{4%QlQap8vKD7|(y(7VzJ;1^l;d0sn1Vz<*=!`aOd9Z`VSjKd7_K zSaK~i^8ZT15sj0KEZ0J#x7~G|YoXEGTE=Uk&F}RyLWn&&x&=XT9=nc=zJ<+(k;b30nHSSZ^AJh!Lh$vK94iWh#p=DFPP zyk7IHGCZ$$d0wx1Qd;VNz033Z0MF}F^5h&wJ;e*ZLG%2i;dz7Rxx(|gZv;>A`fm*Iyb(NagSS6& zwU=`+^%M`gOY>Z1cy?)?=Ng_}F3&FT^gPQh@DvZ9-)r>RP?zQz=GAkKr=H?Te_Hcg zZFqiK^Qd8J;(3p645$H@Q4- z(md@-#!YV7-W1?@Q_8ZXjY7WSLEo%-USN3Mta+|6Ja2Y+-W=e0v&-}5K-u1$k|%8- z>M7pxEt=;H{FS>S>Q-0JTV0;)x3_9NIlA4dJ;hq&Lr?M6fY)N5MANRL z?&2xmrsdd=-%Nj-mZQ$daht3AZIHto4{vjIzs;3{p2BTf_b~6Ab|ZBcPx*GuGac3; zdETyht}{GucXhu#P~Nw@y5An)dArsL;wZ0~UOWF6n3 z%a*d=fjWLxH6S0>@g1n+k#CdH)~4>_CEuy#*nkvFf2Wq?Vk5_$uI_h2j<@km8JP?2 zbalVem4kJBXG-0flDf-Np}RECM#J+i&9lkyyvyZzSAgeT;3;$7U4inx3p|7Kto6X@ zD^O2)0(7_LxzX^vTl3sxc-{@3wOaqX!P9HYce~|%cR=iE3;^D~-f zv*Gy}&2zKi`5EvOPx~_go}Y1fekP#jXHxQ{uR}fMO{5)~=Ub*-?a(~87@j*^o;$$P zYs))ao;w0Ocep(Lo;IJV(wCy1@}%n?&9lYmd5`AVYIxq`^1LUY=RGdZdjdS~Ny(GG z8ugSFl^)IW62r4c^K3Ibdt9D90iHcB&z=C!o|HW43sTQwU7z=Ap6!O`y_#o-;d!si z^WFf@dtILQ26*0^lIML!Pgyy+PxHLY)aQMg=T^h>K9}cxx<2hZd!Nhmz5vhrQu3rP zOFiX{jQhd!kLpsR=l$UMl(KJg-4C8myKi&d55C?p1NVckykUGl`2OB~dU-$iKCS!L z{TQE~a#ySF$M}R}i`{?n#GXDh>sj8&ctFc?nUUoIEsK2%<^e4Wd)fn94!c_QfGfuX zt{fbn9?)_;g+qpM?63Y8iwIBp=+yr#UC$3{o}Gs0gPNy(3+6$W=YyK3U9Ec1<@sQM z=YuJEat(lb${QIEf#Y zW0057$8fanl}P@)`tQg?C~xB5HanoNRY(4PuuDL^T&^s!b<6uU52K|$rLHn9?P1-z zrG=b-&u^ z-m7)D?|1dOJ-atBn)JGQ_quv>H0d=xJE$XhQVy1PT=RTH^Ss9Jd_?oK?{_@{o>ASi z9|?>mkGMP^3GjR*l;;mn?zyPJV^D7TI0}74Q5+JSg}^K2aTLcOLsT!40vf|9?Oq&5 z!4E{pH6EXK%>_6f9|U6dsR7$%OuWD91=FKvkqVMj{V)MU;>BKSK{c%|0 zO^osK%f=$F8tdK9LCf*qpP-MS@aP?U1kF#M&&P5|Z{>}nu|5&I04*b3*<&i$PB<7~ zNeu&oz`|4n%SjR$eV?%K4A<6lT z3!y{#j-bm4!Ho~WvCNWrumqEFc$zi>cT@=OXpIZLP)^40Q8 zj!$)%{6(WEG+Kubu-RY!bK0WNNEXdT9!aqdcUsjY*y6)~?HEHi&9b-FA}Br0rfI$n zh7+b$qeaRQMLk)%!jn3CdL|z$VR`ZZi14!IXi1*3 zkUj=H8`O1%Cy$WWfEPf8Cy$Vjj~Md^36JL(=-H^tg-1v+y>`gGWVd#GzIeZ+VV&^%Q#YWV;v(c{|h%$cGDooV7>l&hd+K z$l`hyQg!S*NZDl5>gvUDBu*ns3d%NdM3WpRC+ z*1gN{9H({vG=5PR9v>k*#|6rJoLk=GT-|Aok4stJoFU0m7T2@2o;Mku*;>z=4No2! zAw07KJhNRrvjci&r__@(FnP*CdXDCKi{Y80^}N;a%yD_<=(2^qqxH{mdFHr!vRraB zPu6h`>iBYX8}eZt=b(;9mN#d8${~yE*e0VksoRYl;~~c;)$RUDLyzI?%Dj1ugxAK$ zLzYbjZ(r+TnU9AoO}I0XFD(o5l?C<*T7SF1K0%lHKHQ}~I1|r|9}~3xO)lQHtqFlL zpP=;*n-6HY)FQ|Nd#=_s-}L2N@N8C7++TiObHR6$yGCkJ3EtXGM4zMKewzmb`hmlJMj~6r0=!S3HP9>iMVuPaZ@O&XX1&dCDUD z(cp>KG>o1{gXaciKPzxFcuLK#ck328iQY!c-6tg%Uu-?PRhK?lzo zn*<#^Yittq@T{>((8IIFc!ZE=jqz|F??{qK(7`*Bgd^HT?niAW!H@C|2%Ci7ev$i8 zTlPcmND|u7wFqL39Se;-YwTEPKYNEA1;G}dmy#z(EAkX;>^RMH2)~*4ahm7r_{CA? zIG5*fTF>)cyw&r#fSx?|AzV-T8np;wjUBIfCenoG@tWrzllSp1&*K9;k9W)Vc+JyV z49BPBNneIMWh=!A;JHcNX?UIhp3Ukm{Gy&b-a&fy2?3rw-a&fy2?3rbfM<(7;3s*e zrmsYvVgXLpJnuFVCtMM>|N_@>qvW7(u0;d8~uzd2&Ec9_uiY z=MPk=%EOdY6O|(z{EMnx7+3jEK8a^H!j7a1JHSD_>Qf+-^~kNKogadm5`vo=f;-iR zvnwg5h2RQ8aD^ebX&M(?mH0>q-SiOLj1b(+5Zvh@xS|l;EFaF6729rd`OOKz%?-iL z3&G6~!7T{E@zGT>--SM$E&DSw0=jo z{s&F#cih(R=+L4@@jIqyo{t)yQ#8-NGCZfaJg4ZgwZ0_}SCF!u63}x>N}lY))Kh$nsha0s8=g}& z&%ZG|r@B0+YCYE@6=$ufF3+g}J*TGR$uWXF#lJWeJnP)odrt+=I`{S7;6V!OQHsLz zRPYoF=hT3nr-Enr%+E21JjK5_P3vj>i_^58QzBvqoTl}(zSL>De770Cr@6YG2ELwu zaT@qa8{nbUo_}##sDHt+kFtn=QJ`h9{zZY7#rhWoS{7PF1zHa4Ulh1<6u5HG+A7d; zg!yzFTgg-W3myQmNm>7b2S9lK1rLA_T?#c%jx?<2LYHS@fF}=r2=^~Ic9W<07t_Gg z^DlTrgXdpN15fcUcszsWU+{Pa@h_&iJXsn%p271kctnHeU+{>Ak^Tkej4kSK)5O2{ z2xLj+TM#e)1?LpcznG3Ro_{eN@_YUTk1_E4i|Nq8^Dm}D2hYEl4m~{oVmkEj{0kmw z;Q1Fk(!ldCrbBDbznC8IFQy0li|GOXVtT;8;EY&{ApXS+Xyo}9GoX>@U(A3;o_{d| z8hQT33}__1Zw9pS{EHdTCcO7?)+Jx@FJ@}K*1wpk`C9*ihaardJ^&9t@Ky(Bx;%OK zfyZ-ZN}in6$y5A`(>2c_{AT+(UGsb$zu2-*cX^&3;K@S{M9>t7V5-6kC6e=4oGso}+pGgW);HT%@5m5Mo`qc<%%$|3eY4>Z`MK8qAg&jSsb)#r>HJkUUN=V1ok$}0~u5Z%4Q z3^;nvO{qIAMe-D@Yo6w5S9^JIL9_Zt!;=RW2u~hd;PIU2^5nqf|X_*Fy00ETDzp=~+Mv!BfVGg_@_efOtTGj7Y)&e?9^Rz3hJb*xWo~3zO z3+ODD=UD-sXQkvx4~jfxOYtJ`^emu7;OSXFi@;MXphe*6SwM@xQ!JoGE>HHrMd0aK zK#Kwv(4r9*&<}7Bz#p-!UliE3m1@1ft}4jdf>6oUBxIrD2rNrpDYqtNLLf{o5E)R6 zTa%u^)+8>f$u%AezMR^|tB>Fx<3rhkREz>Ra{W0TbjJ1O43e?Nu} zADv5Y(*H3jA9FutI-CA5b}MQsbii+rY}=I@|)$zOUJrg|98KXyDv_K*Xew8 zf1=+f8~#$S9>3(@LAj;fDCN=fK7UI({Ugwhh+%s(`P%Z*gaiBkH!`FlX`cpk>5;Fd z50s}SvgM9gQ+V`cSrv3Y3i?=b-kuFvK2gM(1dPDEZXXUW*!R}kS z9iA}HDWs*FWAL9e%FXQ>h_G;6+^4j|F@d@KE>Ae0g>20~$ zcqG3dop)dI8(EHqkJipNZoJce2krdhk1MCe)5MYfZ}fNNN`*Ic2W{t;Z&E%|9;x&` zIR0?cyZTu@QpA=nnct!QPR_@sx3Rq+9=rAB*1v7n;q)WQ&(!k>ygMHUIH# z{hd^9L3zA>;>Uaa)#Ky8uiJZ4dkNl8t%s#M`G9gAJbiLL_V>FTC(D`q``zYe^GoKF z>bIp&5!-f^6r=E^{0-jy?Y7@Ae*W=x#C_8q?0DneH+WaRBs#aBX#8&{a2wuO^?L(1c zVwp#cjUM&(lAEh8jHvAB*=I$wCSkMm!uF2(mga`&N2ABJ;}Jx?!dhB0eEb}h)u>Lz zht@y5=HpkYqN1YNMRVsAU5ayp)6>gTR&;#is3KJ~cmCB=X3s2AQ;MdPov~(hliE_> za#{PD>dO=D9Sxi3%wCh$pk~kPXkIsE`BGKklx*#2*<9D!(bTdW~f<3vr1=_mRGEpm#8Qy zNtDe^WXw+Msz~%)+*Y^QS*)6x8`{^DwQP=UZrPHac}~;%Hr3MJvSBSwf+$rbct}x& zSBI9XvvFEf8Me8t#otx>Wg=;#ss8f8DSdu!g5h?vu*-S#-x^xp-W{pB_(wYS(+GDz z=Fnhl3XZ^w)7RJ(NiF|)d?f#R6l+_GbfZCI8?wuvLX0L27snoFlf_ky#h(WJ>%iju zJGrn;G{WuRT#Xqm|7DkQ*O+? z?i}UJnm@D1S-vi^?L}v4)4I00w#ApLPpAmC&LyJfsOrTnZJXOas!GR0j%u}7{axDt zzBt>i<|NY7YE@DB+th3|{F3OVYd2>{$}TA?+I#hsqS8yI3}h$NL-QJo z)ZZk=-Z-F2^5&_s;(7Du&6z(#mCc=9JY(*{618|n>B2elW|XVB3+61GQ(Q7XHh+F; z*ZfuO4R}Xk&C;6l)|9lW*7CZJx;0B%)cU&SH7gr7x2iQ2o$DK#i)Y?Ygx5(L^THKbl+LS-6l^>p zK0dCFttdhJS~2j|$YQwE6CQnFT)8^>C#v(6TSVd@$vteG5hx!-)%W+PW*+`=hPK_=dGOCZ{*CL_X{2E&sjI~Kfbr>zfYL|M$Y_SZlhZi8C9XRBeCzt0&C6e8N2Z{nP~Y`lqJi6~>3IobW%H@d>Z}=2Kss`}+7F zMBdJvwLf!z=6T&Y*Zlqd%(joreLH9F*5BpKeLHh5@%u6#IJa_t=9`%d-p*X`yUYa- zA`<)?+50nBy_s43c4qPK^xwY|{FSlaW#;k)(9kO~2_2EUtzX6~Z?BL9F+1|VBA#J7 zDHC_Ta?RiK&J@612u}l!=v-~LXFR$A2+5N!?#?DNzRfZQLGmI8JFs*DOZb47us^55 zWE>1Ey3pMM;r>|yS?MDsa}!q@+1<8Luu zwMb8LW3#(#hYsc*u6ODNS;TMB zadC|lZ8T``yvK_;fr5VzgqM3ZT`Ee+U2-K2<`;?H+223D#D>l6g6&V(MEd$wNk>Op z)4Hu4s=+z8bnUXb%>WiT`PGdL@rI6B`8ioxdrQ;n+M^vsSHd_Om|avnyJ&`T(qrSx z)G^V?k*P&6&Z1Z6T=nthmUVT_r$oM1-CDOka_8c@SaW+rc70h}LtSo1-MZ!vom|z{ z;M6y)Z?03BOX?@8e^}YJHK(+qvo+Sz-f+xhJ!v%8bu^SWv^8a38l8G)>DG3baoJ5* zq?f1hG5Ue8L+Jni@jaHwyWIah`{UrUhG|0kL+V}rhS4PBE&{^ZA0B@`{y+4K{5fFp zl^$sx2hU>*NG8x|!sYSjWB)_H-iiJ3iME`BH`riXu%inN3GX5VK z|NY%q!=`PZT}j(YJ%dQglME!)Uvm7P{eBz&9ZYw>g!z?@xX9RlS#S{FG)^LC!_HUs z+{J2G5BOcQ|F$8!YZ0zP*p6^L!VL(tLdfRR2sa_zjBpFWtq8Xv+>X$Va0kMj2#`(P zjqn+S9SBU{gZN&A`w;F&cmUx+goh9wM(9O&1mRJHze4zHgug-fTLh->Lkyc&J%;cP z2#+It7U6RU|A^3!@OgwUAUuKaB*Ie&Pa`n>PQ=e3d`qlM)(fGcM&iTtA9cmMEGZfml3{?K=b`y5MD)K`rU~C z72$^n|Az1*gnvi)F#`L?5W?#SKS9`o@Kc1JA^aSH>GvZ31;Q^8{sZAx2yY<#C&I50 z_96TR;Z219Lilflw-EjZf$4`4{|@2z2!BBMUxc?2{)n(20Yhw#=ID;D6C{=NwrEm<|utcROaYPZi6EG8%sY>imVTLMU-ye<7mU zkD-w4rsA5t`~E_vE=qEVL<&)V*%PNnYk(8J5?k0`>d83%wiiEvU@!JzUfC08N9}$7 z_QU*bFXAoC*wQiPhaK!?^G)_|hCo0Il6{$%O)tNcIuXFB2q)r2L&hIY?04lNE&E8C zNd<63deX2T@>3VK!P{ofd%Vb-eTlFw%Va!%+Y6-nlA0!#KkeP*m>~AD`Y;X} zT>;0DZs1(}nxf`mVfi)5^PT;r!!$LKg3(Xe;cvc^H9_4}h3#{3r#gM>x|?%mtu1TD z!u_VgX*pS|+S41_A}7z9S>4zYzbq%KVoUwDV{`hlaHF&*M{2>#;( zsKs~Pe>CEbZvJ3nJm4igX*Bb}k@ce^>qjY@(qXP2&3&&7J@4-N(W$VzkMw^|L+{GP znexE)AnqSoKSn8y)=rXYkzRe+=8za1?`Zva-UqY)zu6Yj|Go9k`6-9f1KoHh>z{vz z4DI@($DgkT9r^|ScvX_Gwo8SNCWkMAXe58yriXsL6aBvlHY52jJapzrLH^?rPefq< z8BHcX0FmYIOXlx>qshikbHx5TvVJV>$M@GZkoVj8KmUU{{=bnOGX5Xw|Gox$NZ=9s z&lVT^xrP1l`?dcs_+a+`E3y1?#Q*a*(8Gd{^nY7?AGH2o{K4%1-+@nkr2pGSd)V=j z{%?!$gVz5SelYw0=fe8`D(uv6z#9;Y@nTCG_U+HIM%yUkW3c{W+X3UzB)b9+VE6Mo z#JE=C{f8#Vuv+uSj&a1?F+SQ0A9amz@!=?h(enR)p#6X5(R8Z!Uk-u)A?qK(v(r!I z35VcYH>2h1(c#nC5pLS}5W;Bn|1D^LZS>!UYPc5RI)v>A*CX73a3ew&!lw~#Lbw^> z7KB?7ZbP^op&Nl8p}!O1E`+-gK7+6W;U0t@gnJS0L%1K|0fYw;9zu8+p%>v1ghvtn z3gNF2{s!T15&jOL58>|-9z*yCgvSv+i|{#we?;g<_&mZF5S~DI65%O?rxCu0uoK}K zgfAgHi|`!6ml2*vcmZJm;YEb6Abb_!YY1OQ_y)o^5q2Sb3xT_lzm4!6gzqAJ58 z1`+-l;bnyHBfNs}F9@$9`~YD$!oMQ?5aHhteuVJv2tP)64Pgl3b%dWF>_PY`!p{(X zj`05w_9FZO;g<;if$%GYHxT|4;nxWJ5PpO3Cc=Lq{5Jy6mi!-t-y#en{0`yw2!BAp z*AUd(2;3XQ_y2fmp!@vz>EmSs(^4RL|I7H@z@1OHK#TonpFN3p2zMd8&)+|wihtS5 z*bh~df<^3m|G?}b!qcUs{X|jhrIYs$X6X$i#W=IA6#r)6^H&x4oLLzlJ{K-Um;s9U zz%2w+0=OI$v$55r6jbvt&dXq^@i^O1FYwUnIWyKbU3YeXU(CE$!f`Z#&~)9>(EA+cQ}q{{1o^#DexDC;<@*4=V9vO?fmof$)0#sG#58) zIau9&s%y~Rw|Gm(I6U7(wDC`p@Al}xVdfj&Ub>=rxMB6Q`dNK#Z14MjTUyig^ex+7 zvM1gWZ9U9sNzug1_ljsQ6tQ|*-K@Sgw)gGtLhPuvw07>|y}L2S@oKs*X`C?Q zY9-RixEma|?fZbtllSA>9}A2RcKnHNe>?^Lb1CrsDezxNfqyau{^=C>ohk5NN`Vi~ zC!SunHqk3=D=Xn0&G)UK@?;ho6Tw?+=-_!Ft|&2=&YjDM#v= zr6!lxZ-e#h;lt}Wd*ThzTx@P(E-ZeNorZnY;oi5n9#hw(zrrFBAFO}wM7sAzy$y!8 z@A&rjR=P)rlW~ov4G@2$kN9Bq*@blPjrx4~16rSV zMhCF*%+?oUUcM>{tQs9H*ohN_LuJQ0eJIKTTBsBl{_OAr+UcdZl3jEJQ@!1pa zj`kjX==Gb2#dur4pOh-qe~;Afd#!$Zq6s`WU|q3-Y@PY4OoR5m#Sfb{L437EB0f^T z@3s29&+XT&rqR~#Zqp`6zwt=@?)S#q_g4M#UD_V5vzxl@2F$gATEx7P>)XCd8{HOM z$K7SpF|Y7+^6oA3D}?Vm2|07M+g`<(lPxduwy+&r_?vlKyg#;iFh{}rCGb-c_S4`Q zntzeTW;EKE?}$B|t`aeIj7?%-{bbg_MZ9O=N&`0W(**IbrqmGe+hQ?32Hz)eHsKges%^1s zcs9xrI2RB0RFQ!xLzRJ9p*4n{aIL^Gc)_ZXaAGXUbu}T+bmre_Xb5+kw1oQ%OuhpG zYrcGxfV8>HXrF<}YuM21M#VqSg?wWIYhHN<&;0f4$Iy##rQo%WwE}Bitp+A9K29KC zMm+*&GwKys^Xd~=^V(_f%zsc|&1iv(ut4dhcr{I;0Rr_s>6G^Pv_ zLW3^=Ku!a*4R8sc`Bx&^?Za~kp1PC1$iTYI5C%OS&#P90=NQ)Qqv`X(I}JVM-(_Hc zB0uu+!^~%|NlSWsWxy?e$H1(YIAMQU$XN&!m#`so`bsELqf0f-|M5-9m2@N!O6;##|(@- z4qz)!G4V-dLR1`oY}zU!Oxha2Hf^hqrc-Fr86|u)-5N0#W(M>HZ1e0V9&Ld5odU;n zpEY>GdwqEQULfdMzj;`awK6z-Uoc62VBGf4{0l*2`Nm0a_*M$6`PLdd`F8s7-3Cv- zeSj_Be&T(6ZT>rx@Roic3GYu!n5ymqjm>8_>9@tw*iMEF%&}{qfl1FsXY3pPKYJG605AHTF$JIU!kM+jPgrpr1JV#wq7qN7X^Sgcd z4Ex~R9NaW%3k^(qe(jaAvD?=gn7TI_cst-ufn!qv;~h%U$Jmbw1s=z=aUWc1VCG-t z!?*h2P6ICkO@grBUP3vO*P!6_hqZ?dd_ME!`>UW?iKt&-_Ext|vYcbA1kjv;h)ZaM zKZ>Z+z)u6-Y2aeOt$ZgGG#e518F(>ZF3$kZRw4Osi;cS!a4qqGnRa(FO%gpt&&4u8 zQa&+Ok0W>%q0L{LaYe+VoJmtG@Ywl)D-E9gB_Z%Q;=6qK0m2Din?e0jhFwCV>w34) z0PB?-)ff_*43-<0E|8B`w%cMES{`=dZLzG25LF7Cq5Ci4#8}S4wk|vvX^VjGH}r&u z49vEa%RQMU|3ZPYz64aUfv*KTY~b4fCnoXFSTnz582mxQpxS+9}>L3%=LJ_SMa{EBIpyb8ulHC#_)|D2f|?4X0V?Y z5|1*WO;sf{VqXbfx8ZJq$Fj@y8a(yt7dVrBcBg?^{(A-1@(&XZ+A3)?fzpO;5U=Tr zj>kR7LmRAE;7qpd8p6jh7DtiBOFmUTxX}kE3_Kq6JqG4L*5`x!eeg~LQ?>yO z2gaxf)9xl7wh-YV1GAIwHSl)8!v<#COR&-Tj?@OkS-9Ca+!tJAii^_zJ+oKAO%cKp>xs5cL~)I^bLuD)6k+ zxGvzpSP|hkRweidz(9MhHECIfjRNcWqE+C`IPeLBj{+Vr_)@^TeE8f`fxuiq8S)4x zjX7rkRVXwu%}Ze2_gjTt``w*_*K=97;7815gF>U{vLQoH+2Sm0BSR%&zYIY*9d~Ux zq;p=Yk+fNbfV%|N>n;5PPpAQYz~IR%uK<6rHnI|tBd}fr=@eMo0||l0a+vNCSnJzM zI5-Aou&eh8J_Df0mKdAq!l+*s_b!tUoA^EhvpjPtIA}NyXgI*0R+Y zSoaG9v+jBY)^hd}_RHyqF@Da(?VZUqkb&j1SMYxMGfBTs^3RL|cBbJE#$*<2t$`iD zT?Qs;pAQ~1@L9kQ8<=T}*_n`!gQ(WPoC^{LW;yH>ciHrecqX-VM9|XcIigGQ5t~Hly*k|{pDOGH-p&zyLgVG*=j(&*+|e)j z>$zj6PAg;nE+0JPgNF^w`81aUhJWleb4Q`ZOFor8xYh@E8klXYo3I)4`wg50)J_9$ z2fWL`Y`0Z2gr0q&Q(!&Lcl+QTAKdGM`wYyw>o>3iSg}E&y|E2D1}06dfhz&`6HaK8 z&DK#m+sv?`;TZ0mjz7qUV^ocS`vCVCm~AP}K>{>u5Oo^36!2~Xj|c3`!k=It(PM9s z;75$TapF;i*@!9yj2&0_(B2 z)zC2iPQt!6M))YAgeIdHaF5XF&S3h2o+Ac@M#f=7&phLE@W+nBgoE}~Ixucsuq)OW zdOc1Gy}!R`o4i+Ov`xNC;OrWt-EHvXTf~am7RzB777MH^zFT1JJM<9t&jlzertKBH zC!4<>M*~A&J%*3WU)$TeL$+cH zE&l*vzno@#-Zc`h>4!}|i;)a(x=@Bpw(Uv-voG`+nEhq1z+)W1xeM?I?SyHI2qP`W z^mGtXfkK93b;`nzM`Wk3}YMjdf%=@fhh=hH5O*Srk80{Gnq zJ|A$=nfQaWD-m@I9H=|?*}aB_$?{nFplAE6G4RuXdkoAXs9Gd68xeIGnC)j+V1K{U z?JCa9pjSER3H#f&9|jHk!eBCu8CQn{KVt0NC;98KcUa&kn|SPF_=B`mI4*EH@s&P& zf^f*#+hyoE_Vx%3Ag|4{jr9tRwr_U|&4_VzSZMUP8jB+l#um!cXkhBwO86k-YQoU7 zE%gh%zfb9Lb(hfSadn@-*`=Vzn{VW+$InWE^;$=j58orOwwHPdqYXHS`UK7dXvcXi z|1QCMGWhE;WK13$Nw4Ro-Nd6z&PKFPXuS4=_Q3udrxL;ZJsKltjnH`VAkV2t)=50_ zISEm((CD?10m19Fks*QgSiR5SqoBvThfJ&2Mq&nLeH9C=$KFc9e%Z`eT{RM~=@TZO z$w<~^;0=KLgkEg{oXd^^y($?QnA6NI1J4AEHyJgJ9=8eGaa&*+w}mE+Gqr zVAfr&hDVO!318Y?AH35C4;uJ*2I~MZi7+z~&j^TNq5d20&RR(6!3<#VK(6$*}Rk5W&K>l(>RfPR*-VcL@ zeWWLu#*E>8f)BI}_O+dozaGN}1lD8tpuv+Sb`Jg^e~#g~0_(B8l5nt&v_Y+20vF+^?ydK*J1+P1d-)7Eb1)4Q&M_@fRCJfAS=puZOvAxI8 zb8O!w^ceu{c&o?uA)(P@du%ywVjY|9Bu`*HwzmqLQw4md55G%bJ+==LhK>%R-2!I< zw7j(Z!-DtApvNwpy2`YHw!!upBOdj_cGxIzjBTmM;90gqA!#Q8zgK877^zPpzC^P)*}4xNG%)-7ULU;A2M_yToF)vtWK53v;9MV^ z=Yt&|Tg9ua+Qy!kuciTRft**OgZ-%_!z*$0%uak+|~F4dKR=}VA2!{ ztZCvtnks`QO^pxVO4#52QAd=s)6h_cZUavR+%uA1@7Wj-8a-z2HZX^zAp^607S-Sn z`Y-35DuK29-GqZO=&_Ag2>bI-4eNQN)}-Zl z(&>YH1lD^CcN)ANLkK6va@eqaA=`x^!zBFJCG0c)&-qn=txm0@09xDQE3k`~jZ*u~A^%XA=g`vg-EH^!RA{eKZ3G&wO_I@I!=y zeM>;7S9tFIO3ueYw#`lOT-#auuR315?ge zqu|*Ga|PCYxzONQN5wvxxR0jBN7HEV%%|0d?;;%RN4hU}8=4qy_ZfI9;Qo>Hx-ah* z8r_%o8JK-}*uZSVl}-3#=IBO&bzS!n4$7eC=zhVE!Ckkn%>+CoX?4HOWg|k{W;s*| ztRG|7`0xn>GwL$%^MHp9%>KJ`6aFO4%N$bo2|fnUm4W3@)r>#j%Nw19{e3MptowDs zq-9_3@xeO<*8O_7!Bejx!m08!{d%v^>wb-|6H+$4ZLv^bJuepq6pv{n`)P zK3*hg^?Y5d>7|cX`rujv>w59Q2_M|$gS&ljj}Pwk!F@is-v{sX!2ptFV@GQfAAI(l5&7hBF$l#gJULRgvLMA@n+1TMR;vo-Z za16}0T{x0n_wg#B(S5wpz{^12YGBUS0|x#m;30u^y*r!?gEHtoUPwIJ@JvKC0_%R= zW$@H}m%tM!+n^6WOxWKqkPo{wzLJ@Y*K>EP;782eRUMi>lS%Cy&8)iw&*E|MltFDp zFmrby;gGqzNNDujU1?zU_eNjZE`!(ok+5GEKWzGVkI?Hr-f!~BMzY-k>$!Wc!86bJ zrTAm!?n;66+}$g%?&Ey|>ptFZVD|Ar12g~J%XB`vk2?nDa8o6)UjG>oSl9I~fps4r z1Z?~GZsJq)@gsQC#(d?&wit=*MX6ng<8vQZ_4;pAy_Jq~)K@aTG6lXn1%9`Se=FUI z@NnHz@ixIrZ$JO`e$sHHkBe?OxlzzKE4 zP)`JXrJ;Wu_sREi^y^;GZ$jLI*z)~0U|!FtOx4m>x4yYSB%|TV%hLJfBi@rQen|3> zI+c9Pm-6w=Kg-vXFGFo^Z@;7&oLO?Cm#_4YM+`qc%iKXx=m>snei&6JsJ%Sa{4Y zS2>Q;w57hG6N#Ff8Qi_J2mK50CptK|70gDK`!gu%%?<7K>mcz)pL`q#R+oPw3CsG3 zsug7(E%Tqm6Smj2l(uxvo>@{~zoesKvy=bHvV74q#r;aT&wjmpMM>Gx3P&|3@h>ms zIONCLdVcAd?|+rG{Nmu}-yj#Zn^u(fhG?PMg1Y;#I#&JQ7hn3P7v6mJsh7U#ENyD< zSfb12)u)79*Q3z4p;bt}_{^-UM|H>L7-|+d8#ZgGysf3Ryydbj%n60;I0Y%PXWM1z z6e`JA zr>aXaew?B@F%K!UjNjru>7ps=9OOmaKBDI#mi=hyIno~rJxAU{q31|w=`#)@e?ZCj253spzmy5@!h4qEJm z(`J@6G&f@en~v5t^W3`Ttqpn{@74Km?3bAo#fR~`HjOdcINJrs+i_@R5mgeu0wt`+ zf0NEy2$D{}*F7R#6zQ%p>G($S9uSMg!&KzQ&&ZDCmxgrLnsmb%k`8j}8CB9XhNeqL zx*JTo0h2CW)wk8t1H!cbNxiw}JBCn)#Wd3cSri5&hHtFhpVb99L@YI@=zsPsP-i`#%4M)FbVdgo}Umx6l2rhwpLm zKlss8U-R(&2A>W)=Bt13^53QLMAS*rNaM3%N9p={^m||X>K~pkG%LX0two07I3grjOu2enbLtAg_dM_GC$EL;9P5N#&v(-9(n$HJs)SmrWJek3wnMlP>&%#N;$lySFKobPRWY%oKIAoSLo?2 zMM|R56bF91-}5c4*#C! zcO@L#D~+nP3u3>JbMx>(Gg z_J$6py`znm3gi^vs;iuW>5i}1oPslx#n$?r^Um`Z_JzTWhbM^KQ-kHPuHoXQElyoW z%jTx_p>oU#(mPIl!}{jBwg%Yj9c3+Bw{#F_xVWKhq#9a}1*y`T0=cxVZGB^1TjAWI zqM~U@d9a@QlhZp6%hhsURM_6o+_1jGSx;FCKRnIZ(AKiqX}`R^Y2D_Ti1h5*!Xjfj|+OVi# zWkHhQlzY}lxtA=a#VVz?sA!twtgNh9<}Y-ns~?#T^+}bhSFVtzR8Y2}qGV--v$CWV z9tiaqDd5bJ>LnE}#s%_=hw{@+D7^g^6c#vVf~&8qIeJW(2hVV^v#h1Vspy2q(Oy_B zH8aauY^r4Wx{au+c4xJ&3~>|-^o;VA=tPV%$EgCR1XaLdb(U;#3Ja3qJT$2My()WaUwmCgL0)8m%)>xCai zY+jlRNA5Jxg^%xCQ=pv8k6&q!^sr-jP3KHHy7aVDihc4>?&pxNjI#sqTQV^Jedp)T zK5IQ5J?x`ItyL^(18U=)-HnPyY>j(&awjCI=-Rtj+*AI zuB=#5p@%O_CCS-Oo9Juf)Z`0p{Zan2RYgrjnbY37ww?ke2|FUU0|@IltW%M8obm~) zwVU zgl8?2&ls#~Io2#(km&1v!1Eb@KKFx3zCA`dHGV~ z=OHQc!C;1b*e*PKJ6t<&B|+0!^D9v)^fA2F*EKggcnHoI(;u_L`#``B!m{+#I77msB- zn1InPxZY6Z;)ClAjV?a8-oOW@%qMxhfnR{zgE2PMx&prhNBcQ>U4dVP+kgo$n&Rg_mPk9x{$*BK?>9UVQZ6dC;28R8M`4Ej&3t z*1hC6MwM5TEiGA55$K=(aa!o$KVdjrS+;!DvXunRJP7@*pSJ}^f1d7qh<3I28x0RrLumo|1HJ0Qu4yK!;(=jbCuh9e+JG3maN-sX{OrLc0Y{Pg+xtKLv z$=+cj8d>WikvBu6UN7l6L4g-J4xrq_)=l)2e#6bt{Om|~VC(j=DDBZ=@NzVUOj1D1NK;kF579+NSmeIiJ%f3inTQQ18}3Ei90A!-M&|Y>&)!s`_3u4XuPb zL<$OI#Yx%~zkDd|isPTn-zl_h^FY#$%srxP-fRzS2MOfQxYOk`(r@Se8uxyxUQ0Qt z@8SEW(oesGy5u}E4tneBs;dg<`TOn1gZruck|pyI*$&i`#m`S3kHlUPK7PNoQs;Z< zek;G?DfM}@)ypUcx36I2yv`9$=uZvMbIoiO7TK4ab52G15-zvP2ppD!*M7jtIC05( zdVDap&|?c3nI)fyIz4c2WKL3VnAzn*y+Jc4nT~bB`aMMn8AKbkPU1oM+K15!7@x0a z+ltV^YN1{!Jq<6vFlYN9%wnF&e^aCBNkB9la#V$VR z_i{a5=!1T5qroTpy$Ov^?f3TR`y>5cesw#{@8y@X}9mwsev2Y@~m; z9%^&s5-)ZVz1@)K*`)CN1=PP#c~7!Kq!l@j({j>}8SxN1B#ozEzD{RUlu48iu>x*P zP^t(%spx3}oBGVKTC?S+S4NS&T;c6R9$JUz!hC|`G0TvB)c-tq=XlbE`889O<;^$+ ze~0>z%YiH;yQ0K-iC@B(au3=isq&X6iKFAd`DkyBr;p$Nq5r~hNTfY{KPUk{sr?}P z-Uj797%$HY`b#{w+lkqU^>HZv&!6YH9sKImOIB98zDvOc4i=d+ma8>Gg8{K;HW9~5bY1P!&(#9xcm;(-`P$M-~SPNb+rBV(EK5us>1va z-rKoiJaS}9e5wDTJ;&qmC8F>{ov8 zMEXY@Pr%quiuJw$TmPQl-~dm*ArJ8$^ewZWSMTxOksjAJHT$_gZ~76taVN}=*yrMd zend=<<9yy0^dlUDPxd2fb(}6Z^v3<;&mM@ZM#I?;!dgpECxw zX{6ZSoBk)--Am z)Oc7Ce`Dy}9c-Ut5$Kq%P}A#u-)}tk zeZKqj`JF#_)Yd!ODV{TxEyvRf>$(r$Q_bCk<6KJd1ik$Hma1K+;JEO9 z*-tr)&ytMJFB|Fa`JYSm>wK&oE|yIAP9Iv`vcr@0+iCb8d_U#c*iU&FTO=K~*0IRu z;8bPSDLqZTyC=G_-WpY^?SvfM%$3T*IkJD!+cSK~`zQT9$q%RS|IRS}AL8VBkNYKg z+Jg4~5aT^ytQv+tH|oQkFn@2r#RvVp-7Y@p@9i`AWPdNF-!IF>`?Fts^@X2&@zu}2 z5!{#Q==-VtzGCx!TJnBMp4b`oT&YpxNBVsU;NME`(SLcuCwxHsmFxe8-}kbf^EpQU z<^8`SejG;9RHLX2vPti0vZWsJoUwq zc3QrSCyLZB&*+z%q#wVvCHdhwW=gr}sR6Gkueoy25=)V`wpdO=nu6khqecyE39uDm}Do+%Z z=cosJAM&Gz>A$lTy^Oc)*v8LveRkI85x?Di1Cnpja<^&V*$U^&_2R;vMNj+D8q0PFs`9djAks2Kg=3!ND(m-MkOz;=la*OT!+%3wS=? z?KSaE6AzkruZhvHG+myFi%eW;;#w1TBHp8p#)?t!draLLKMC6li2uQ>U;M+9pCjKs z;PpE~@|l>xv-)RL4!-o~eKsa}&)zf8b2K~X_+1OVr!SB@N4_8Gkx%^mSFi_z&(rrJ z@Ec-wHIDV+;S1C&`hAVvg%e3dDZuw&F4VNZ*7VlnQF!EKs|(JPu;YBJVpMSO@>S!x~}^ET6^#mN(O49X;iY8^Lon&t4FEu3{f} z#dV~7snaCOHw5`;U+p@L@=?z$=xM)C7e+1m^l18_q;g5U($4W6JDG5Cyk|M2rPM2& zEBo0BodZ@Fg5N+wCu?y(ktAP4+S=aGwieIk)~;`9-nw~<{UVb5TI>HX(!r#WnTZzf zGx*AZY#-GR{Q|jAs{_4H`6HCGqke?)l6|F4(}v*2(hhziHd%9~qTcQvA*`1=&cPj?@(gRlAMk2E+RPqH{oltrWK9Y z^=8w{eqir=9kNf0^NOQ}P!A4f9{&B2{`+J7S7`X&hTVH5^N@MZ7M~14n@{4%na#nS zku&3g-ku?6kDHWBEMH=%jd|!LHGGQL8~YIB`<KT3QZh0aSh@yd!tq3N7@@*z#nLj|1%I(&O$ z_$21@-nBPsw0xttHwrcVpWEJ8%HAPQG^`|i-QfzyEH|!Mq z9)`6=>`o%tuYV|ZO1FMb|4(73yxZ?Nh@CQYJj;>tzMJnkcy>wx`O{A6bom_2PC3PE zOQYTa|L3<;(iP2=;9N+1!jJL8$uE%yp4U#Q6RbX7_MAB@ge( zhOLVfx%i-+QVBfmlv)#anz-AgrAp&R+9{2|zaQ5{ z2K4*%v=K*Vr*v!j)OJcM?!SNSlt2BtNYx}et{-?^gkQI}&r!s#NxjA~RlOPIcM9za z*hqUSb=qJbE`YZq>mz+=&%X5$^S%5qYBT<6`aie5@K@6P%NRt+|{)HiLo zd=%?Y-g*P==tHqP#{bFJNAfUJyr0%b=r@bJf134?81m=*idTRPpM%*Q|F_mh_#A}g zGlZCS$8N;5JNTSrM|uLIRk+|IEO|gMTH~!U{;3^4hm2(c& zR^d18igG2W|baGXqtwBGTQJLjS z>eVYN+qUMER@8R3wzM}y#!oC-sTwx7HskqRd2T~n)1^C(D%;xb@T{UMZZ0oxQk$KX z=T%j#Emx(p3uhG-O?MKrr#U6FbE>O9nYHx(-1B;J zt1Bxi)JpkW@JhuqbgEaDtcb4MRyDT zZ815(IQvWAeKA@R<>|$_d<`!$J|_zwF<+uS;Vj;|WqpU@rpk*OI?5xekzZLVtY7zy zjznZke7aMg$ozJC|FoPeN1-sAx(aUnct-uV$90WsZ`rgg`|H<@Y1)>#$SEpID~l)` zx|)yA%jbV}VEfljO`l`T8We*YfxOIRCoKU&wzUKeFlO#T&*woc~%z{_E=D{72I7%)k8M z{6x$Chx31O&%^l-=Xd8f;P#7?Kh=QSr)1oezqi?GI`wvE|0gb(eog$f*JBMGud9r{ zpZ#On9`*HqsNT8`ryVJCa_ibeS!3OniyI1iw@=Q=svFar_F_iC6K^Sdpzh=s-u(Cz zbz@Hb!`dZV64>5a*W7f)PtvYiv3h-zK05T5D^GYaa{baJuSI&dw6$Dz$4O~hwr)Nn zl9TmtW62$ji=6pR!JdnsRQ4#{2VQ!vF8i*Snwpa}@4RDAPd_ES_570f#W)BT$2`kP zxJu3vn^{)G^QfZB<{dq2=75|p+duZ?v;>Yt!Wp<*;@w+kr4`gxJ6C1wQ7>oAeBo<% zPLAF+=92U`BmZ)8LG4Mezm?6ia9_WmC{l95$uFLF{nXYmub#LgD}QrC9?rdeB>#m- z{_66@pLjU(o1FX=W!oYJ_kJub|C0|#=1k15yfgB4O>EBUSlQ}tW$uc!-qsyS+pzggrR+(uxjZU%Vi69CRrVm-rQdW)BG;Yv>Qf8T zOCv**>&x`^kxz9mk6*njXMYC&{Vrqnr8EDS@w0Jrem#!=oQhv$%=vXjLH|EjPxzLy zr@to5@vloJ%=u<+H+Ymz{cU9S%zyZO(3eRrH7XHa{NcMm%Tlh`Iu{FuUWMND16YnJdNeS_a zxqFwBlw@J!%vBMu-mUyWX?ndrlmXI!Y~lG&7byco0jb$SNdU=y zVZ}08KuWUvDoOZDdYn)Y(B!Z4FF_;ek<^ZF4JAlTjp;zNZp-{J1z}C)*TqYZPdaIT zSp0L-?fQ-4wd}}s&5y*h#<^%YSa-{5ZD~P`4f>y-LKWuv+Nx#RSOnmNbCCB2VtmjwVrDNzy|U7>TnR1gM(AK%+i3WF-$fXIBpl_a#>R`z+iL_6-Vt_j@&PA z+~1HYIfF6tMG;DS%^u%skhX$fW<_B0-ZaJ8+)6{-nG|Vy!tyn2_gzhyij28yabAi9693gEFS>XeiAs(+n4c$nPjlkxVu&2PD;uI3$&nUn{CMu6wzSa}kO>K0>wN zBs3@~{dNC>8tSEllqAk68v^vk`DA7-YE0lG`%pL=){fW*sNJU9>g^`)>gwp}W|akS z&^g}_FoakhY!n@u>>LU$sJXQnIgZW(UP3-HE5kKw@C+d{f2vtCkbg$MC@Nbn-PEO5 z9*WvheA;O1t^k-51VHEX?!-9o#d*(5&lVaEYCn}Gl{s%)+G1;N57w!DVg-dG_J$=b zOGk<}!ixN{ee_nLxv^=Dw{O=B@tKGI<|})Y^InWr6NCkb2N557fD$UlS^!Dp(}Pc- zn_gZnkoi*8#1*F+%VJ)dZZIz)8&6fl#UUfftzE9b>>aixR-}Q=mWr=C9T9Z9fY>cD z2^bC8&$(5w)|4mKkS&~B1ue+q>DGxgL~GL-sg9y?pRA^~-d=R60 z!mO>v;&#Eid*9L#kDAu08+>aWT}{ha0ogmy?mKyjsAY|jQOm$}rXWgoT3+jDXsxf0 z$Q2Ra7PCaP2?*CEU|9T}*WbE40gpV~4j@fi)O*TA39)s%R((vgkY4JXgtc05$A~=c z#1Zi)PJk%W;@FqLdEHH~XQ|$i*t2J`M2#OXITyJ^+S=Z)^x$%oOk{N|F8Zk%4=5f{ zM2d&9sNl~G?`7d|AMJ>bp7B1WG)FMT(t?JvmZqqL4*V&TfYp63VA&5dv99oXmEe4s zNwtXy@1;z59+f`{(_q>Gc^ou;0FEu^2X#<*cgXqR#A>Q8jOvihqhi6O&)nK-?Iy1Q z?dJ|~B#q;6Em1R@A>OJO#|UC-N2Y~4 z!QISz0HrTco& z#7eIg3X8B!+?d3fc+74RA5Uo)1Z!WLu|hSk(aHNF?6vlH`ILl$*S51E;Dc}lqQD1X zN64}K>=2E(w9*!Yz^Eno8g%l`29?rk?`Nh<{>x7%h)G!#5TR|H?5bkwefCiAC9StES6sqH|%#i;fp1;Ez+nmQ5F*U`B-rE@AS` zjgdFIge%_C|2OWG`^f7;*pk#P$FZfkO3fRe8F{yT8Mk6pHPFTC`?K(pyMSIiflh~O z)kpUtbpkFl+Z^^)huV~z#@432r<5*jk>cqm0v{5o7r!}Dyg~BrQxbrGNJU(mq89gD zLY3~hgzSXu02g(v+l@7B3QE9foEvM@YR51-wQ4WqANfJLq&`+Hm(iF)JSn)33GxyF zC_r~=G**8@EVWZ3TvStQm(?fcq+qzhde&@kjJSW zU`O63oKHIgPW31Ocxq@Wv}h8jdn7lZbllDc^3L=+6@t#~$eZ_~_bj;4W2YLm^2xF7 zzCb>5-eN1$F8Zc>zq&nfn+`vu!#VrC^xwXxJFKx)qo=&CE7nliF0_&@V8b*wd>-3X zzH`v|BEqE00Al}QM>WNF6o_4;f4RlAs%!EE^Wr`fBMQn9u;>hm2pMeKNL+_!*f-*K z(Y)Eqws@&_cCK?6b-wzBbr}Cu1s3VYh)=d2{lO3j7$6nT&0A^#H#3+R2!KJ?)%Sv>w~ z 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 literal 0 HcmV?d00001 diff --git a/mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/devicefaultclass.js b/mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/devicefaultclass.js new file mode 100644 index 00000000..ff92cc7e --- /dev/null +++ b/mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/devicefaultclass.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/devicefaultclass', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/devicefaultclass/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/devicefaultclass', + method: 'put', + data + }) +} + +export default { add, edit, del } diff --git a/mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/index.vue b/mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/index.vue new file mode 100644 index 00000000..8d787805 --- /dev/null +++ b/mes/qd/src/views/wms/masterdata_manage/em/devicefaultclass/index.vue @@ -0,0 +1,362 @@ + + + + + diff --git a/mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/devicemaintenanceitems.js b/mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/devicemaintenanceitems.js new file mode 100644 index 00000000..c93a4e1b --- /dev/null +++ b/mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/devicemaintenanceitems.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/devicemaintenanceitems', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/devicemaintenanceitems/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/devicemaintenanceitems', + method: 'put', + data + }) +} + +export default { add, edit, del } diff --git a/mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/index.vue b/mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/index.vue new file mode 100644 index 00000000..8d1a0a6f --- /dev/null +++ b/mes/qd/src/views/wms/masterdata_manage/em/devicemaintain/index.vue @@ -0,0 +1,436 @@ + + + + + diff --git a/mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/devicerepairitems.js b/mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/devicerepairitems.js new file mode 100644 index 00000000..9666d5d3 --- /dev/null +++ b/mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/devicerepairitems.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/devicerepairitems', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/devicerepairitems/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/devicerepairitems', + method: 'put', + data + }) +} + +export default { add, edit, del } diff --git a/mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/index.vue b/mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/index.vue new file mode 100644 index 00000000..ecea78cf --- /dev/null +++ b/mes/qd/src/views/wms/masterdata_manage/em/devicerepairitems/index.vue @@ -0,0 +1,361 @@ + + + + +