diff --git a/list.txt b/list.txt index 7641a02f..e700a273 100644 --- a/list.txt +++ b/list.txt @@ -1,6 +1,11 @@ src\main\webapp\WEB-INF\views\home\include\top.jsp src\main\java\geoinfo\main\main\MainController.java src\main\java\geoinfo\main\login\LoginController.java +src\main\java\geoinfo\training\home\HomeTrainingController.java +src\main\java\geoinfo\training\home\service\HomeTrainingService.java +src\main\java\geoinfo\training\home\service\impl\HomeTrainingServiceImpl.java +src\main\java\geoinfo\training\home\service\HomeTrainingMapper.java +src\main\resources\egovframework\sqlmap\mapper\training\home\HomeTrainingMapper.xml src\main\webapp\WEB-INF\views\visitEducationApplication\inquiry\visitEducationApplicationInquiry.jsp src\main\webapp\WEB-INF\views\visitEducationApplication\input\visitEducationApplicationInput.jsp src\main\webapp\com\img\visitEducationApplication\visitEducationApplicationSample.svg @@ -17,4 +22,5 @@ src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Regular.woff src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Regular.otf src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.woff2 src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.woff -src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.otf \ No newline at end of file +src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.otf +src\main\resources\egovframework\sqlmap\mapper\main\Login_SQL.xml diff --git a/src/main/java/geoinfo/main/login/LoginController.java b/src/main/java/geoinfo/main/login/LoginController.java index 316a6b54..f93c977c 100644 --- a/src/main/java/geoinfo/main/login/LoginController.java +++ b/src/main/java/geoinfo/main/login/LoginController.java @@ -641,6 +641,11 @@ public class LoginController { String virtualNo = ""; String userName = ""; String companyName = ""; + + String partName = ""; + String phone = ""; + String email = ""; + int loginCnt = 0; String lastLoginDate = ""; @@ -776,6 +781,8 @@ public class LoginController { //String brower = ""; request.getSession().setAttribute("USERAGENT", agent); // 접속 브라우져 정보 + + } } } else { @@ -824,6 +831,20 @@ public class LoginController { String agent = request.getHeader("User-Agent"); request.getSession().setAttribute("USERAGENT", agent); // 접속 브라우져 정보 + + if( selectWebMemberIn.get("part_name") != null ) { + partName = selectWebMemberIn.get("part_name").toString(); + } + if( selectWebMemberIn.get("phone") != null ) { + phone = selectWebMemberIn.get("phone").toString(); + } + if( selectWebMemberIn.get("email") != null ) { + email = selectWebMemberIn.get("email").toString(); + } + + request.getSession().setAttribute("PARTNNAME", partName); + request.getSession().setAttribute("PHONE", phone); + request.getSession().setAttribute("EMAIL", email); // 로그 insert map.put("userid", userid); diff --git a/src/main/java/geoinfo/main/main/MainController.java b/src/main/java/geoinfo/main/main/MainController.java index 2c471cf5..e2bde0b7 100644 --- a/src/main/java/geoinfo/main/main/MainController.java +++ b/src/main/java/geoinfo/main/main/MainController.java @@ -516,7 +516,12 @@ public class MainController mv.addObject("username", request.getSession().getAttribute("USERNAME")); mv.addObject("companyname", request.getSession().getAttribute("COMPANYNAME")); mv.addObject("url", url); - mv.addObject("cls", request.getSession().getAttribute("CLS")); + mv.addObject("cls", request.getSession().getAttribute("CLS")); + + mv.addObject("partname", request.getSession().getAttribute("PARTNNAME")); + mv.addObject("phone", request.getSession().getAttribute("PHONE")); + mv.addObject("email", request.getSession().getAttribute("EMAIL")); + mv.addObject("eGovUrl", eGovUrl); return mv; diff --git a/src/main/java/geoinfo/training/home/HomeTrainingController.java b/src/main/java/geoinfo/training/home/HomeTrainingController.java new file mode 100644 index 00000000..90510b1e --- /dev/null +++ b/src/main/java/geoinfo/training/home/HomeTrainingController.java @@ -0,0 +1,422 @@ +package geoinfo.training.home; + +import java.util.Date; +import java.util.HashMap; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.log4j.Logger; +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import geoinfo.training.home.service.HomeTrainingService; +import geoinfo.util.MyUtil; + + +@Controller +public class HomeTrainingController { + + @Resource(name = "homeTrainingService") + private HomeTrainingService homeTrainingService; + + + private static final Logger LOGGER = Logger.getLogger(HomeTrainingController.class.getName()); + + /** + * 집합교육 참석 + * @param request + * @param strJSON + * @param response + * @return + */ + @RequestMapping(value = "training/home/attend.do", method = RequestMethod.POST) + @ResponseBody + public JSONObject attendHomeTraining( + HttpServletRequest request, + @RequestBody String strJSON, + HttpServletResponse response) { + + + JSONObject jsonResponse = new JSONObject(); + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "strJSON" + strJSON + "\n" + + "\n--------------------------------------------------------------\n" + ); + + JSONParser jsonParser = new JSONParser(); + JSONArray jsonArr = null; + boolean isFail = false; + String failMsg = ""; + + + /* + whtRegId : 집합교육 일련번호 + reqName : 성명 + companyName : 기관명 + reqDept : 부서명 + reqPosition : 직급 + reqTel : 연락처 + reqEmail : 이메일 + */ + + + try { + jsonArr = (JSONArray)jsonParser.parse(strJSON); + for (Object obj : jsonArr) { + JSONObject jsonObject = (JSONObject) obj; + + // JSONObject를 HashMap으로 변환 + HashMap params = new HashMap<>(); + for (Object key : jsonObject.keySet()) { + String keyStr = (String) key; + Object value = jsonObject.get(keyStr); + params.put(keyStr, value); + } + + try { + HashMap hashMap = homeTrainingService.attendHomeTraining(request, response, params); + int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("resultCode")); + String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("errMsg")); + long lWvtRegId = MyUtil.getLongFromObject(hashMap.get("whtId")); + + + if( nRetCode == 100 ) { + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "true"); + jsonResponse.put("message", "교육 신청이 완료되었습니다."); + } else { + if( nRetCode == 11 ) { + lpszRetMsg += "\n" + + "사업명: " + params.get("constName"); + } + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", lpszRetMsg); + + isFail = true; + failMsg = lpszRetMsg; + break; + } + + } catch (Exception e) { + // TODO Auto-generated catch block + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "strJSON:[\n" + strJSON + "\n]\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + int resultCode = -1; + + if( e.getMessage().equals("로그인이 필요한 서비스 입니다.") ) { + resultCode = 401; + } + jsonResponse.put("resultCode", resultCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", e.getMessage()); + } + } + + } catch (org.json.simple.parser.ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + if( isFail ) { + jsonResponse.put("resultCode", -2); + jsonResponse.put("result", "false"); + jsonResponse.put("message", failMsg); + } + + System.out.println("\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n"); + + return jsonResponse; + } + + @RequestMapping(value = "training/home/list.do", method = RequestMethod.GET) + @ResponseBody + public JSONObject getHomeTraining( + HttpServletRequest request, + @RequestParam HashMap params, + HttpServletResponse response) { + + + JSONObject jsonResponse = new JSONObject(); + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "params.toString()" + params.toString() + "\n" + + "\n--------------------------------------------------------------\n" + ); + + + try { + homeTrainingService.getHomeTraining(request, response, jsonResponse, params); + jsonResponse.put("resultCode", 100); + jsonResponse.put("result", "true"); + jsonResponse.put("message", "조회가 완료되었습니다."); + + } catch (Exception e) { + // TODO Auto-generated catch block + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + jsonResponse.put("resultCode", -1); + jsonResponse.put("result", "false"); + jsonResponse.put("message", e.getMessage()); + } + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n" + ); + + return jsonResponse; + } + + + /** + * 집합교육 참석 수정 + * @param request + * @param strJSON + * @param response + * @return + */ + @RequestMapping(value = "training/home/update.do", method = RequestMethod.POST) + @ResponseBody + public JSONObject updateHomeTraining( + HttpServletRequest request, + @RequestBody String strJSON, + HttpServletResponse response) { + + + JSONObject jsonResponse = new JSONObject(); + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "strJSON" + strJSON + "\n" + + "\n--------------------------------------------------------------\n" + ); + + JSONParser jsonParser = new JSONParser(); + JSONArray jsonArr = null; + boolean isFail = false; + String failMsg = ""; + + + try { + jsonArr = (JSONArray)jsonParser.parse(strJSON); + for (Object obj : jsonArr) { + JSONObject jsonObject = (JSONObject) obj; + + // JSONObject를 HashMap으로 변환 + HashMap params = new HashMap<>(); + for (Object key : jsonObject.keySet()) { + String keyStr = (String) key; + Object value = jsonObject.get(keyStr); + params.put(keyStr, value); + } + try { + HashMap hashMap = homeTrainingService.updateHomeTraining(request, response, params); + int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("resultCode")); + String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("errMsg")); + + if( nRetCode == 100 ) { + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "true"); + jsonResponse.put("message", "수정이 완료되었습니다."); + } else { + if( nRetCode == 11 ) { + lpszRetMsg += "\n" + + "사업명: " + params.get("constName"); + } + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", lpszRetMsg); + + isFail = true; + failMsg = lpszRetMsg; + break; + } + + } catch (Exception e) { + // TODO Auto-generated catch block + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "strJSON:[\n" + strJSON + "\n]\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + int resultCode = -1; + + if( e.getMessage().equals("로그인이 필요한 서비스 입니다.") ) { + resultCode = 401; + } + jsonResponse.put("resultCode", resultCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", e.getMessage()); + } + } + + } catch (org.json.simple.parser.ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + if( isFail ) { + jsonResponse.put("resultCode", -2); + jsonResponse.put("result", "false"); + jsonResponse.put("message", failMsg); + } + + System.out.println("\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n"); + + return jsonResponse; + } + + /** + * 신청한 집합교육을 취소한다. + * @param request + * @param strJSON + * @param response + * @return + */ + @RequestMapping(value = "training/home/cancel.do", method = RequestMethod.POST) + @ResponseBody + public JSONObject cancelHomeTraining( + HttpServletRequest request, + @RequestBody String strJSON, + HttpServletResponse response) { + + JSONObject jsonResponse = new JSONObject(); + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "strJSON" + strJSON + "\n" + + "\n--------------------------------------------------------------\n" + ); + + JSONParser jsonParser = new JSONParser(); + JSONArray jsonArr = null; + boolean isFail = false; + String failMsg = ""; + + + try { + jsonArr = (JSONArray)jsonParser.parse(strJSON); + for (Object obj : jsonArr) { + JSONObject jsonObject = (JSONObject) obj; + + // JSONObject를 HashMap으로 변환 + HashMap params = new HashMap<>(); + for (Object key : jsonObject.keySet()) { + String keyStr = (String) key; + Object value = jsonObject.get(keyStr); + params.put(keyStr, value); + } + try { + HashMap hashMap = homeTrainingService.cancelHomeTraining(request, response, params); + int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("resultCode")); + String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("errMsg")); + + + if( nRetCode == 100 ) { + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "true"); + jsonResponse.put("message", "교육 신청 취소가 완료되었습니다."); + } else { + if( nRetCode == 11 ) { + lpszRetMsg += "\n" + + "사업명: " + params.get("constName"); + } + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", lpszRetMsg); + + isFail = true; + failMsg = lpszRetMsg; + break; + } + + } catch (Exception e) { + // TODO Auto-generated catch block + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "strJSON:[\n" + strJSON + "\n]\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + int resultCode = -1; + + if( e.getMessage().equals("로그인이 필요한 서비스 입니다.") ) { + resultCode = 401; + } + jsonResponse.put("resultCode", resultCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", e.getMessage()); + } + } + + } catch (org.json.simple.parser.ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + if( isFail ) { + jsonResponse.put("resultCode", -2); + jsonResponse.put("result", "false"); + jsonResponse.put("message", failMsg); + } + + System.out.println("\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n"); + + return jsonResponse; + } +} diff --git a/src/main/java/geoinfo/training/home/service/HomeTrainingMapper.java b/src/main/java/geoinfo/training/home/service/HomeTrainingMapper.java new file mode 100644 index 00000000..12f9f02d --- /dev/null +++ b/src/main/java/geoinfo/training/home/service/HomeTrainingMapper.java @@ -0,0 +1,22 @@ +package geoinfo.training.home.service; + +import java.sql.SQLException; +import java.util.HashMap; +import java.util.List; + +import egovframework.rte.psl.dataaccess.mapper.Mapper; +import egovframework.rte.psl.dataaccess.util.EgovMap; + +@Mapper("homeTrainingMapper") +public interface HomeTrainingMapper { + public HashMap callSpAddHomeTrainingReq(HashMap params) throws SQLException; + public HashMap callSpUdpHomeTrainingReq(HashMap params) throws SQLException; + public HashMap callSpCancelHomeTrainingReq(HashMap params) throws SQLException; + public List callSpGetHomeTrainingReg(HashMap params) throws SQLException; + public long callSpCntHomeTrainingReg(HashMap params) throws SQLException; + //특정 아이디로 특정 집합교육을 신청한 내역이 있는지 조회한다 + public long getWebHomeTrainingReqCountByWhtRegIdAndUserId(HashMap params) throws SQLException; + public List getWebHomeTrainingReqByWhtRegIdAndUserId(HashMap params) throws SQLException; + + +} \ No newline at end of file diff --git a/src/main/java/geoinfo/training/home/service/HomeTrainingService.java b/src/main/java/geoinfo/training/home/service/HomeTrainingService.java new file mode 100644 index 00000000..a35dea52 --- /dev/null +++ b/src/main/java/geoinfo/training/home/service/HomeTrainingService.java @@ -0,0 +1,18 @@ +package geoinfo.training.home.service; + +import java.util.HashMap; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.json.simple.JSONObject; + +public interface HomeTrainingService { + + + void getHomeTraining(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap params) throws Exception; + + HashMap attendHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception; + HashMap updateHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception; + HashMap cancelHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception; + +} diff --git a/src/main/java/geoinfo/training/home/service/impl/HomeTrainingServiceImpl.java b/src/main/java/geoinfo/training/home/service/impl/HomeTrainingServiceImpl.java new file mode 100644 index 00000000..16fbad0f --- /dev/null +++ b/src/main/java/geoinfo/training/home/service/impl/HomeTrainingServiceImpl.java @@ -0,0 +1,196 @@ +package geoinfo.training.home.service.impl; + +import java.math.BigDecimal; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.json.simple.JSONObject; +import org.springframework.stereotype.Service; + +import egovframework.rte.psl.dataaccess.util.EgovMap; +import geoinfo.training.home.service.HomeTrainingMapper; +import geoinfo.training.home.service.HomeTrainingService; +import geoinfo.util.MyUtil; +import oracle.sql.TIMESTAMP; + + +@Service("homeTrainingService") +public class HomeTrainingServiceImpl implements HomeTrainingService { + + @Resource(name="homeTrainingMapper") + private HomeTrainingMapper homeTrainingMapper; + + + + @Override + public void getHomeTraining(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap params) throws Exception { + + if(request.getSession().getAttribute("USERNAME") == null){ + throw new Exception( "로그인이 필요한 서비스 입니다." ); + } + + + String userId = (String)request.getSession().getAttribute("USERID"); + params.put("userId", userId); + + params.put("wvtRegId", null); // 조회할 레코드의 일련번호(숫자) + params.put("trainingName", null); // 집합교육명 + params.put("startDate", null); // 확정된 날짜의 검색 시작일자 + params.put("endDate", null); // 확정된 날짜의 검색 종료일자 + params.put("stateCode", null); // 상태 코드 + params.put("ncount", 100); // 페이지당 한번에 가져올 개수 + params.put("npage", 0); // 페이지 번호 + + try { + List list = homeTrainingMapper.callSpGetHomeTrainingReg(params); + + HashMap webHomeTrainingReqCountParams = new HashMap(); + + List dto = new ArrayList(); + for( EgovMap item : list ) { + TIMESTAMP oracleTimestamp = (TIMESTAMP) item.get("crtDt"); + item.put("crtDt", new Timestamp(oracleTimestamp.timestampValue().getTime())); // oracle.sql.TIMESTAMP -> java.sql.Timestamp 변환 + + + //신청 여부를 판단하여 stateCode를 T로 변환한다. A:신청중,D:삭제,C:취소,T:참석 + webHomeTrainingReqCountParams.put("whtRegId", item.get("whtRegId")); + webHomeTrainingReqCountParams.put("userId", userId); + long webHomeTrainingReqCount = homeTrainingMapper.getWebHomeTrainingReqCountByWhtRegIdAndUserId(webHomeTrainingReqCountParams); + if( 0 < webHomeTrainingReqCount ) { + item.put("stateCode", "T"); + } + + List webHomeTrainingReqlist = homeTrainingMapper.getWebHomeTrainingReqByWhtRegIdAndUserId(webHomeTrainingReqCountParams); + + for( EgovMap webHomeTrainingReqItem : webHomeTrainingReqlist ) { + TIMESTAMP oracleTs = (TIMESTAMP) webHomeTrainingReqItem.get("crtDt"); + item.put("registryCrtDt", new Timestamp(oracleTs.timestampValue().getTime())); + item.put("registryReqPosition", webHomeTrainingReqItem.get("reqPosition")); + item.put("registryCompanyName", webHomeTrainingReqItem.get("companyName")); + item.put("registryReqDept", webHomeTrainingReqItem.get("reqDept")); + item.put("registryReqName", webHomeTrainingReqItem.get("reqName")); + item.put("registryReqTel", webHomeTrainingReqItem.get("reqTel")); + item.put("registryReqEmail", webHomeTrainingReqItem.get("reqEmail")); + } + + + dto.add(item); + } + + jsonResponse.put("data", dto); + long count = homeTrainingMapper.callSpCntHomeTrainingReg(params); + jsonResponse.put("count", count); + return; + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + + } + + + + @Override + public HashMap attendHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception { + + if(request.getSession().getAttribute("USERNAME") == null){ + throw new Exception( "로그인이 필요한 서비스 입니다." ); + } + + + params.put("reqRemark", null); + params.put("personalInfoYn", "Y"); + String userId = (String)request.getSession().getAttribute("USERID"); + params.put("userId", userId); + + + String reqPosition = MyUtil.getStringFromObject( params.get("reqPosition") ); + if( reqPosition == null ) { + throw new Exception( "직급을 입력하십시오." ); + } + + try { + //신청 여부를 판단하여 stateCode를 T로 변환한다. A:신청중,D:삭제,C:취소,T:참석 + long webHomeTrainingReqCount = homeTrainingMapper.getWebHomeTrainingReqCountByWhtRegIdAndUserId(params); + if( 0 < webHomeTrainingReqCount ) { + throw new Exception( "참석 신청이 완료된 교육입니다." ); + } + + homeTrainingMapper.callSpAddHomeTrainingReq(params); + return params; + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + + } + + + + @Override + public HashMap updateHomeTraining(HttpServletRequest request, HttpServletResponse response, + HashMap params) throws Exception { + if(request.getSession().getAttribute("USERNAME") == null){ + throw new Exception( "로그인이 필요한 서비스 입니다." ); + } + + + + params.put("reqRemark", null); + params.put("personalInfoYn", "Y"); + String userId = (String)request.getSession().getAttribute("USERID"); + params.put("userId", userId); + + Long whtId = null; + try { + List list = homeTrainingMapper.getWebHomeTrainingReqByWhtRegIdAndUserId(params); + if( list.size() == 0 ) { + throw new Exception( "신청한 교육이 존재하지 않습니다." ); + } + for( EgovMap item : list ) { + TIMESTAMP oracleTimestamp = (TIMESTAMP) item.get("crtDt"); + item.put("crtDt", new Timestamp(oracleTimestamp.timestampValue().getTime())); // oracle.sql.TIMESTAMP -> java.sql.Timestamp 변환 + + + whtId = Long.valueOf( ((BigDecimal)item.get("whtId")).longValue() ); + + } + + params.put("whtId", whtId.intValue()); + homeTrainingMapper.callSpUdpHomeTrainingReq(params); + return params; + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + } + + + + @Override + public HashMap cancelHomeTraining(HttpServletRequest request, HttpServletResponse response, + HashMap params) throws Exception { + if(request.getSession().getAttribute("USERNAME") == null){ + throw new Exception( "로그인이 필요한 서비스 입니다." ); + } + + String userId = (String)request.getSession().getAttribute("USERID"); + params.put("userId", userId); + + try { + long webHomeTrainingReqCount = homeTrainingMapper.getWebHomeTrainingReqCountByWhtRegIdAndUserId(params); + if( webHomeTrainingReqCount == 0 ) { + throw new Exception( "교육 참석 취소 대상이 존재하지 않습니다." ); + } + homeTrainingMapper.callSpCancelHomeTrainingReq(params); + return params; + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + } + +} diff --git a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml index bd701800..f554c60a 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml @@ -23,7 +23,10 @@ SELECT AGREEYN, USERID, PASSWD, CLS, USER_NAME, SYSDATE, LOGIN_COUNT, LAST_LOGIN_DATE + 1/(24*12) AS SYSDATE2, VIRTUALNO, DECODE(PROJECT_MASTER_COMPANY_CODE,'','0',PROJECT_MASTER_COMPANY_CODE) MASTER_COMPANY_CODE, to_char(trunc(months_between(SYSDATE, PSWD_MONTH))) as PSWD_LIMIT, LIQ_YN, GOVEMENT_CODE, CERTIFICATION_YN, - COMPANY_NAME + COMPANY_NAME, + PART_NAME, + PHONE, + EMAIL FROM WEB_MEMBER_IN WHERE diff --git a/src/main/resources/egovframework/sqlmap/mapper/training/home/HomeTrainingMapper.xml b/src/main/resources/egovframework/sqlmap/mapper/training/home/HomeTrainingMapper.xml new file mode 100644 index 00000000..02fe0d0b --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/mapper/training/home/HomeTrainingMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/homeEducationApplication/inquiry/homeEducationApplicationInquiry.jsp b/src/main/webapp/WEB-INF/views/homeEducationApplication/inquiry/homeEducationApplicationInquiry.jsp index a975a7cb..ef3d1558 100644 --- a/src/main/webapp/WEB-INF/views/homeEducationApplication/inquiry/homeEducationApplicationInquiry.jsp +++ b/src/main/webapp/WEB-INF/views/homeEducationApplication/inquiry/homeEducationApplicationInquiry.jsp @@ -3,53 +3,458 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> - + + function updateList() { + xhr.open('GET', 'training/home/list.do', true); + xhr.setRequestHeader('Content-type', 'application/json'); + + xhr.onreadystatechange = function() { + if (xhr.readyState === 4 && xhr.status === 200) { + // 요청 성공 시 처리 + const obj = JSON.parse(xhr.responseText); + const data = obj.data; + + const homeVisitListEle = document.getElementById('home-visit-list'); + let homeVisitListHTML = ''; + for( idx in data ) { + + homeVisitListHTML += + ` + + ` + data[idx].whtRegId + ` + ` + data[idx].trainingName + ` + ` + unixTimestampToFormattedDate(data[idx].trainingDatetime) + ` + ` + data[idx].trainingLocation + ` + ` + unixTimestampToFormattedDate(data[idx].regStartDate) + `~` + unixTimestampToFormattedDate(data[idx].regEndDate) + ` + ` + getButtonHTML(data[idx]) + ` + + `; + } + if( data.length === 0 ) { + homeVisitListHTML = + ` + + 등록된 집합교육이 없습니다. + + `; + } + homeVisitListEle.innerHTML = homeVisitListHTML; + + $('.open-popup-link').magnificPopup({ + mainClass: 'mfp-fade', + closeOnBgClick: false, + preloader: false, + fixedContentPos: false, + closeBtnInside: true, + showCloseBtn: true, + items: { + src: '#input-data' + }, + callbacks: { + open: function () { + $('#input-data').parent().addClass('input-data-modal-content'); + if (!isMobile) { + $('body').addClass('overflow-hidden login-popup-wrapper'); + } else { + $('body, html').on('touchmove', function (e) { + e.preventDefault(); + }); + } + }, + close: function () { + if (!isMobile) { + $('body').removeClass('overflow-hidden login-popup-wrapper'); + document.onmousewheel = ScrollStart; + } else { + $('body, html').unbind('touchmove'); + } + } + } + }); + + } else if (xhr.readyState === 4) { + // 요청 실패 시 처리 + console.error('요청 실패:', xhr.status); + } + }; + + xhr.send(); + } + + + document.addEventListener('DOMContentLoaded', function () { + + + const rows = document.querySelectorAll('#Table_contents tbody tr td:nth-child(7)'); + + rows.forEach(function (cell) { + + const text = cell.textContent; + const number = parseInt(text.match(/\d+/)); + + if (number >= 100) { + cell.style.color = 'red'; + } else { + cell.style.color = 'blue'; + } + }); + + + const requestRegistryButtonEle = document.getElementById('apply-button'); + if( requestRegistryButtonEle ) { + requestRegistryButtonEle.addEventListener('click', function (e) { + + var dataIndexValue; + + var jsonData = new Array(); + for (var i = 0; i < 1 ; i++) { // 여러 개를 한 번에 입력받는다면 입력받는 레코드만큼 loop를 순환하도록 수정되어야 한다. + var jsonItem = {}; + //dataIndexValue = tableDataElements[i].getAttribute('data-index'); + // 집합교육 일련번호 + var whtRegIdEle = document.getElementById('wht-reg-id'); + if (whtRegIdEle) { + jsonItem.whtRegId = Number(whtRegIdEle.value); + } + // 성명 + var reqNameEle = document.getElementById('req-name'); + if (reqNameEle) { + jsonItem.reqName = reqNameEle.value; + } + // 기관명 + var companyNameEle = document.getElementById('company-name'); + if (companyNameEle) { + jsonItem.companyName = companyNameEle.value; + } + // 부서명 + var reqDeptEle = document.getElementById('req-dept'); + if (reqDeptEle) { + jsonItem.reqDept = reqDeptEle.value; + } + // 직급 + var reqPositionEle = document.getElementById('req-position'); + if (reqPositionEle) { + jsonItem.reqPosition = reqPositionEle.value; + } + // 연락처 + var reqTelEle = document.getElementById('req-tel'); + if (reqTelEle) { + jsonItem.reqTel = reqTelEle.value; + } + // 이메일 + var reqEmailEle = document.getElementById('req-email'); + if (reqEmailEle) { + jsonItem.reqEmail = reqEmailEle.value; + } + jsonData.push(jsonItem); + } + + console.log('%o', jsonData); + + + + xhr.open('POST', 'training/home/attend.do', true); + xhr.setRequestHeader('Content-type', 'application/json'); + + xhr.onreadystatechange = function() { + if (xhr.readyState === 4 && xhr.status === 200) { + // 요청 성공 시 처리 + console.log(xhr.responseText); + const obj = JSON.parse(xhr.responseText); + updateList(); + alert(obj.message); + if( obj.resultCode === 401 ) { + window.location.href="./"; + } + } else if (xhr.readyState === 4) { + // 요청 실패 시 처리 + console.error('요청 실패:', xhr.status); + } + }; + + xhr.send(JSON.stringify(jsonData)); + }); + + } + + const modificationButtonEle = document.getElementById('modification-button'); + if( modificationButtonEle ) { + modificationButtonEle.addEventListener('click', function (e) { + + var jsonData = new Array(); + for (var i = 0; i < 1 ; i++) { + var jsonItem = {}; + + // 집합교육 일련번호 + var whtRegIdEle = document.getElementById('wht-reg-id'); + if (whtRegIdEle) { + jsonItem.whtRegId = Number(whtRegIdEle.value); + } + // 성명 + var reqNameEle = document.getElementById('req-name'); + if (reqNameEle) { + jsonItem.reqName = reqNameEle.value; + } + // 기관명 + var companyNameEle = document.getElementById('company-name'); + if (companyNameEle) { + jsonItem.companyName = companyNameEle.value; + } + // 부서명 + var reqDeptEle = document.getElementById('req-dept'); + if (reqDeptEle) { + jsonItem.reqDept = reqDeptEle.value; + } + // 직급 + var reqPositionEle = document.getElementById('req-position'); + if (reqPositionEle) { + jsonItem.reqPosition = reqPositionEle.value; + } + // 연락처 + var reqTelEle = document.getElementById('req-tel'); + if (reqTelEle) { + jsonItem.reqTel = reqTelEle.value; + } + // 이메일 + var reqEmailEle = document.getElementById('req-email'); + if (reqEmailEle) { + jsonItem.reqEmail = reqEmailEle.value; + } + jsonData.push(jsonItem); + } + + console.log('%o', jsonData); + + + + xhr.open('POST', 'training/home/update.do', true); + xhr.setRequestHeader('Content-type', 'application/json'); + + xhr.onreadystatechange = function() { + if (xhr.readyState === 4 && xhr.status === 200) { + // 요청 성공 시 처리 + console.log(xhr.responseText); + const obj = JSON.parse(xhr.responseText); + updateList(); + alert(obj.message); + if( obj.resultCode === 401 ) { + window.location.href="./"; + } + } else if (xhr.readyState === 4) { + // 요청 실패 시 처리 + console.error('요청 실패:', xhr.status); + } + }; + + xhr.send(JSON.stringify(jsonData)); + }); + } + + const cancelButtonEle = document.getElementById('apply-cancel-button'); + if( cancelButtonEle ) { + cancelButtonEle.addEventListener('click', function (e) { + + var jsonData = new Array(); + for (var i = 0; i < 1 ; i++) { // 여러 개를 한 번에 입력받는다면 입력받는 레코드만큼 loop를 순환하도록 수정되어야 한다. + var jsonItem = {}; + // 집합교육 일련번호 + var whtRegIdEle = document.getElementById('wht-reg-id'); + if (whtRegIdEle) { + jsonItem.whtRegId = Number(whtRegIdEle.value); + } + jsonData.push(jsonItem); + } + + console.log('%o', jsonData); + + + + xhr.open('POST', 'training/home/cancel.do', true); + xhr.setRequestHeader('Content-type', 'application/json'); + + xhr.onreadystatechange = function() { + if (xhr.readyState === 4 && xhr.status === 200) { + // 요청 성공 시 처리 + console.log(xhr.responseText); + const obj = JSON.parse(xhr.responseText); + updateList(); + alert(obj.message); + if( obj.resultCode === 401 ) { + window.location.href="./"; + } + } else if (xhr.readyState === 4) { + // 요청 실패 시 처리 + console.error('요청 실패:', xhr.status); + } + }; + + xhr.send(JSON.stringify(jsonData)); + }); + + } + + + updateList(); + }); + + +
-
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
번호집합교육명교육일시교육장소접수기간신청
+
+
+ + + +
+ +
+
집합교육 신청 내용 작성
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
신청자소속기관부서직급연락처이메일
+
+
+
+ +     + +     + +
+
+
+
diff --git a/src/main/webapp/com/css/common.v2.0.css b/src/main/webapp/com/css/common.v2.0.css index 65ac73c7..65391ee0 100644 --- a/src/main/webapp/com/css/common.v2.0.css +++ b/src/main/webapp/com/css/common.v2.0.css @@ -3768,6 +3768,129 @@ ul.faq-q > li textarea { height: 26px; } +/* ====================================== */ +/* ====================================== */ +/* ====================================== */ +/* ====================================== */ +.home-education-application-inquiry { + /* 신청인정보 */ +} +.home-education-application-inquiry th, +.home-education-application-inquiry tr { + height: 36px; +} +.home-education-application-inquiry button { + background-color: #007BFF; + color: #fff; + border-radius: 6px; + border: none; + padding: 5px 10px; +} +.home-education-application-inquiry button.edit-button { + background-color: #00a999; +} +.home-education-application-inquiry button.edit-button:hover { + background-color: #008979; +} +.home-education-application-inquiry button.deadline-button { + background-color: #e1e1e1; + cursor: not-allowed; +} +.home-education-application-inquiry button.deadline-button:hover { + background-color: #888888; +} +.home-education-application-inquiry button.closed-button { + background-color: #ed2227; + cursor: not-allowed; +} +.home-education-application-inquiry button.closed-button:hover { + background-color: #ad2227; +} +.home-education-application-inquiry a { + background-color: #007BFF; + color: #fff; + border-radius: 6px; + border: none; + padding: 5px 10px; +} +.home-education-application-inquiry a.request-button { + background-color: #007BFF; +} +.home-education-application-inquiry a.request-button:hover { + background-color: #006BeF; +} +.home-education-application-inquiry a.approved-button { + background-color: #00a999; +} +.home-education-application-inquiry a.approved-button:hover { + background-color: #009979; +} +.home-education-application-inquiry .Table_Main { + width: 1020px; + border: 1px solid #e9e9e9; + text-align: center; +} +.home-education-application-inquiry .Table_List { + background: #e9eff4; +} +.home-education-application-inquiry button:hover { + background-color: #0056b3; +} + +.input-data-modal-content { + display: table-cell; + vertical-align: middle; +} +.input-data-modal-content .input-data-modal { + position: relative; + width: 1000px; + height: 280px; + margin: 0px auto; + padding: 40px; + background-color: #fff; + border: 1px solid #000000; + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-title { + font-size: 34px; + margin-bottom: 45px; + text-align: center; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-body .input-data-modal-table .input-data-modal-thead tr th { + padding-left: 13px; + padding-bottom: 10px; + text-align: center; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons { + display: block; + text-align: center; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons button { + background-color: #007BFF; + color: #fff; + border-radius: 6px; + border: none; + padding: 5px 10px; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons button.apply-button { + background-color: #00a999; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons button.apply-button:hover { + background-color: #008979; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons button.modification-button { + background-color: #00a999; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons button.modification-button:hover { + background-color: #008979; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons button.apply-cancel-button { + background-color: #ed2227; +} +.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-tail .buttons button.apply-cancel-button:hover { + background-color: #ad2227; +} + /* ====================================== */ /* ====================================== */ /* ====================================== */ diff --git a/src/main/webapp/com/css/common.v2.0.css.map b/src/main/webapp/com/css/common.v2.0.css.map index 6e823975..1415d53e 100644 --- a/src/main/webapp/com/css/common.v2.0.css.map +++ b/src/main/webapp/com/css/common.v2.0.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["sass/common.v2.0.scss"],"names":[],"mappings":";AAAA;AAsBA;AAGA;AAEA;AAEA;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAEC;EACA;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AAGA;AAEA;AACA;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;AACA;EACC;EACA;EACA;;;AAED;AACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AACC;AAAA;EASA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;;;AAED;AAEA;AACC;EASA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;AAEA;AACA;EACC;EACA;EACA;;;AAED;AAEA;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAAA;EAEC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAGA;AACA;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;;;AAKJ;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;AAEA;EACC;EACA;;;AAMD;EACC;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACH;;;AAED;EACC;;;AAED;AAAA;EAEC;EACG;EACH;EACG;;;AAEJ;EACC;EACA;;;AAED;AAAA;EAEC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAED;AAAA;EAEC;;;AAED;AAAA;EAEC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAED;AAAA;AAAA;EAGC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACI;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;EACA;EACA;EACG;EACA;EACH;;;AAED;AAEA;AACC;AAAA;AAAA;AAAA;AAAA;EAYA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAGD;AACA;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACA;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;EACC;EACA;EAAmB,SACnB;EAAc,SACd;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUC;;;AAGF;EACC;IACC;IACA;;EAED;IACC;IACA;IACA;;EAED;AAAA;IAEC;;EAED;IACC;IACA;IACA;;EAED;IACC;IACA;;;AAIF;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;;;AAED;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;AAAA;EAEC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;AACA;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;EACA;;;AAIF;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACG;EACH;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAIA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACA;AAEA;AAGA;AAEA;AACA;EAAe;EAAoB;EAAe;EAAwB;EAA8B;EAAmB;EAAiB;;;AAC5I;EAAkC;EAAiB;;;AACnD;EAAoD;EAAa;;;AACjE;EAAyD;EAAoB;EAAuB;;;AACpG;EAA6D;;;AAC7D;EAAkE;EAAgB;;;AAClF;EAA8D;EAAgB;;;AAC9E;EAAoE;EAAgB;;;AACpF;EAAiC;EAAoB;EAAc;;;AACnE;EAAmD;EAAoB;EAAU;EAAY;;;AAC7F;EAAsD;EAAa;EAAmB;EAAoB;;;AAC1G;EAAkE;;;AAClE;EAA0D;EAAoB;EAAW;;;AACzF;EAAkF;EAAa;;;AAC/F;EAAoG;;;AACpG;EAAyF;;;AACzF;AAEA;AAGA;AAEA;AACA;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;AACA;AAIA;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;AAAA;EAEC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;;;AAKD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AACA;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;AAEO;EACI;;;AAIZ;EACG;;;AAEH;EACG;;;AAEH;EACG;EACA;EACA;;;AAEH;EACG;EACA;EACA;EACA;EACA;;;AAEH;EACG;;;AAEH;EACG;;;AAEH;EACG;EACA;EACA;EACA;EACA;;;AAEH;EACC;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACG;EACH;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;;;AAEJ;EACC;EACG;EACA;EACA;EACA;;;AAEJ;EACC;EACA;EACA;;;AAED;EACC;EACG;EACA;;;AAEJ;EACC;;;AAED;EACC;EACG;EACA;;;AAEJ;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;EAGC;EACA;EACA;;;AAED;AAAA;AAAA;EAGC;;;AAED;EACC;EACA;EACA;EACG;EACH;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACG;EACA;EACH;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACH;EACA;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACG;;;AAEJ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AAEA;AAGA;AAEA;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;AACA;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;AACA;AAIA;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;EAEC;EACA;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AACA;AACA;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AACA;AACA;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAED;AACA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;EAEC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AACA;AACA;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;AACA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AACA;AAIA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAID;AAEA;AAEA;AAEA;AAEA;AAEA;AACA;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;AAIA;AAEA;AAKA;EACI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;AACI;EACA;AACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AAGA;AAEA;AACA;EACC;EACG;EACA;EACA;EACA;EACA;EACA;EACH;EACA;EACA;;;AAED;EACC;EACG;EACH;EACA;EACG;EACA;;;AAEJ;EAAgB;EAAa;;;AAC7B;EAAuB;EAAa;EAAW;EAAU;;;AACzD;EAA4B;;;AAC5B;EAA0B;;;AAC1B;EAA6B;;;AAC7B;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAyB;;;AACzB;EAAwB;;;AAExB;EACC;EACG;EACA;EACA;;;AAEJ;EACC;EACG;EACA;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAGJ;EACC;;;AAED;EACC;EACG;EACA;EACA;EACA;EACH;EACG;EACA;EACH;EACA;EACA;;;AAED;EACC;EACG;EACH;EACA;EACG;EACA;EACH;;;AAED;EACC;;;AAGD;AAEA;AAGI;EADJ;IAEQ;IACA;;;;AAIJ;EADJ;IAEQ;IACA;;;;AAIJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAII;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGQ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAKhB;EACI;;AAGJ;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAIJ;EACI;EACA;;AASxB;EACI;EACA;EACA;;AAGR;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AACA;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AACA;EACI;;AAIZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;;AACA;EACI;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;;AAIA;EACE;EACA;EACA;;AAEF;EACI;;;AAQ5B;AAEA;AAEA;AAEA;AACA;AAcC;AAiCA;AAiEA;AAcA;AAqFA;AAuGA;;AAzTA;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACG;EACA;EACA;;AAEH;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACG;;AAKH;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACI;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEH;EACI;;AAIH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGL;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;;AAKJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACG;;AAEP;EACI;;AAEJ;EACI;EACA;EACA;;AAEH;EACI;EACA;;AAEA;EACC;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIH;EACI;EACA;EACA;;AAQR;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;AAAA;EAEI;;AAQJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AACH;EACI;EACA;EACA;;AAIL;EACI;;AACH;EACI;EACA;EACA;;AACA;EACC;;AACH;EACI;;AAGL;EACI;EACA;EACA;EACA;EACA;;AAKN;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAIE;EACC;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AAOP;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAGJ;EACI;;AAIH;EACC;;AAIF;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKL;AAEA;AAEA;AAEA;AAMM;EACC;EACA;EACA;EACD;;AAEA;EACC;;AACA;EACC;;;AAQP;AAED","file":"common.v2.0.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["sass/common.v2.0.scss"],"names":[],"mappings":";AAAA;AAsBA;AAGA;AAEA;AAEA;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAEC;EACA;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AAGA;AAEA;AACA;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;AACA;EACC;EACA;EACA;;;AAED;AACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AACC;AAAA;EASA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;;;AAED;AAEA;AACC;EASA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;AAEA;AACA;EACC;EACA;EACA;;;AAED;AAEA;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAAA;EAEC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAGA;AACA;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;;;AAKJ;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;AAEA;EACC;EACA;;;AAMD;EACC;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACH;;;AAED;EACC;;;AAED;AAAA;EAEC;EACG;EACH;EACG;;;AAEJ;EACC;EACA;;;AAED;AAAA;EAEC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAED;AAAA;EAEC;;;AAED;AAAA;EAEC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAED;AAAA;AAAA;EAGC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACI;EACA;EACA;EACH;EACG;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;EACA;EACA;EACG;EACA;EACH;;;AAED;AAEA;AACC;AAAA;AAAA;AAAA;AAAA;EAYA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAGD;AACA;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACA;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;EACC;EACA;EAAmB,SACnB;EAAc,SACd;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUC;;;AAGF;EACC;IACC;IACA;;EAED;IACC;IACA;IACA;;EAED;AAAA;IAEC;;EAED;IACC;IACA;IACA;;EAED;IACC;IACA;;;AAIF;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;;;AAED;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;AAAA;EAEC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;AACA;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;EACA;;;AAIF;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACG;EACH;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;AAIA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACA;AAEA;AAGA;AAEA;AACA;EAAe;EAAoB;EAAe;EAAwB;EAA8B;EAAmB;EAAiB;;;AAC5I;EAAkC;EAAiB;;;AACnD;EAAoD;EAAa;;;AACjE;EAAyD;EAAoB;EAAuB;;;AACpG;EAA6D;;;AAC7D;EAAkE;EAAgB;;;AAClF;EAA8D;EAAgB;;;AAC9E;EAAoE;EAAgB;;;AACpF;EAAiC;EAAoB;EAAc;;;AACnE;EAAmD;EAAoB;EAAU;EAAY;;;AAC7F;EAAsD;EAAa;EAAmB;EAAoB;;;AAC1G;EAAkE;;;AAClE;EAA0D;EAAoB;EAAW;;;AACzF;EAAkF;EAAa;;;AAC/F;EAAoG;;;AACpG;EAAyF;;;AACzF;AAEA;AAGA;AAEA;AACA;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;AACA;AAIA;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;AAAA;EAEC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;;;AAKD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AACA;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;AAEO;EACI;;;AAIZ;EACG;;;AAEH;EACG;;;AAEH;EACG;EACA;EACA;;;AAEH;EACG;EACA;EACA;EACA;EACA;;;AAEH;EACG;;;AAEH;EACG;;;AAEH;EACG;EACA;EACA;EACA;EACA;;;AAEH;EACC;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACG;EACH;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;;;AAEJ;EACC;EACG;EACA;EACA;EACA;;;AAEJ;EACC;EACA;EACA;;;AAED;EACC;EACG;EACA;;;AAEJ;EACC;;;AAED;EACC;EACG;EACA;;;AAEJ;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;EAGC;EACA;EACA;;;AAED;AAAA;AAAA;EAGC;;;AAED;EACC;EACA;EACA;EACG;EACH;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACG;EACA;EACH;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACG;EACA;EACA;EACA;EACA;EACH;EACA;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACG;;;AAEJ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AAEA;AAGA;AAEA;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;AACA;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;AACA;AAIA;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;AAEA;AACA;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;EAEC;EACA;;;AAED;AAEA;AACA;EACC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;AACA;AACA;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AACA;AACA;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAED;AACA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;EAEC;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAED;AACA;AACA;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;AACA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AACA;AAIA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAID;AAEA;AAEA;AAEA;AAEA;AAEA;AACA;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AAEA;AAIA;AAEA;AAKA;EACI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;AACI;EACA;AACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;AAEA;AAGA;AAEA;AACA;EACC;EACG;EACA;EACA;EACA;EACA;EACA;EACH;EACA;EACA;;;AAED;EACC;EACG;EACH;EACA;EACG;EACA;;;AAEJ;EAAgB;EAAa;;;AAC7B;EAAuB;EAAa;EAAW;EAAU;;;AACzD;EAA4B;;;AAC5B;EAA0B;;;AAC1B;EAA6B;;;AAC7B;EAA0B;;;AAC1B;EAAwB;;;AACxB;EAA0B;;;AAC1B;EAAyB;;;AACzB;EAAwB;;;AAExB;EACC;EACG;EACA;EACA;;;AAEJ;EACC;EACG;EACA;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAEJ;EACC;EACG;EACA;;;AAGJ;EACC;;;AAED;EACC;EACG;EACA;EACA;EACA;EACH;EACG;EACA;EACH;EACA;EACA;;;AAED;EACC;EACG;EACH;EACA;EACG;EACA;EACH;;;AAED;EACC;;;AAGD;AAEA;AAGI;EADJ;IAEQ;IACA;;;;AAIJ;EADJ;IAEQ;IACA;;;;AAIJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAII;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGQ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAKhB;EACI;;AAGJ;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAIJ;EACI;EACA;;AASxB;EACI;EACA;EACA;;AAGR;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AACA;EACI;;AACA;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AACA;EACI;;AAIZ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;;AACA;EACI;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;;AAIA;EACE;EACA;EACA;;AAEF;EACI;;;AAQ5B;AAEA;AAEA;AAEA;AACA;AAcC;AAiCA;AAiEA;AAcA;AAqFA;AAuGA;;AAzTA;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACG;EACA;EACA;;AAEH;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACG;;AAKH;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACI;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEH;EACI;;AAIH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGL;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;;AAKJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACG;;AAEP;EACI;;AAEJ;EACI;EACA;EACA;;AAEH;EACI;EACA;;AAEA;EACC;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIH;EACI;EACA;EACA;;AAQR;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;AAAA;EAEI;;AAQJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AACH;EACI;EACA;EACA;;AAIL;EACI;;AACH;EACI;EACA;EACA;;AACA;EACC;;AACH;EACI;;AAGL;EACI;EACA;EACA;EACA;EACA;;AAKN;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAIE;EACC;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AAOP;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;AAGJ;EACI;;AAIH;EACC;;AAIF;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKL;AAEA;AAEA;AAEA;AACA;AA4DI;;AA3DA;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AACA;EACI;;AAGR;EACI;EACA;;AACA;EACI;;AAGR;EACI;EACA;;AACA;EACI;;AAIZ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;;AACA;EACI;;AAGR;EACI;;AACA;EACI;;AAIZ;EACI;EACA;EACA;;AAEJ;EACI;;AAIJ;EACI;;;AAIR;EACI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEI;EACI;EACA;EACA;;AAMY;EACI;EACA;EACA;;AAOhB;EACI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AACA;EACI;;AAGR;EACI;;AACA;EACI;;AAGR;EACI;;AACA;EACI;;;AAShC;AAEA;AAEA;AAEA;AAMM;EACC;EACA;EACA;EACD;;AAEA;EACC;;AACA;EACC;;;AAQP;AAED","file":"common.v2.0.css"} \ No newline at end of file diff --git a/src/main/webapp/com/css/sass/common.v2.0.scss b/src/main/webapp/com/css/sass/common.v2.0.scss index f74ab599..27d371bd 100644 --- a/src/main/webapp/com/css/sass/common.v2.0.scss +++ b/src/main/webapp/com/css/sass/common.v2.0.scss @@ -3437,6 +3437,146 @@ ul.faq-q > li textarea { // 발주 기관 - 건설현장 등록 끝 /* ====================================== */ +/* ====================================== */ +// 집합교육 조회 시작 +/* ====================================== */ +.home-education-application-inquiry { + th, + tr{ + height: 36px; + } + button{ + background-color: #007BFF; + color:#fff; + border-radius: 6px; + border: none; + padding: 5px 10px; + + &.edit-button { + background-color: #00a999; + &:hover { + background-color: #008979; + } + } + &.deadline-button { + background-color: #e1e1e1; + cursor: not-allowed; + &:hover { + background-color: #888888; + } + } + &.closed-button { + background-color: #ed2227; + cursor: not-allowed; + &:hover { + background-color: #ad2227; + } + } + } + a { + background-color: #007BFF; + color:#fff; + border-radius: 6px; + border: none; + padding: 5px 10px; + &.request-button { + background-color: #007BFF; + &:hover { + background-color: #006BeF; + } + } + &.approved-button { + background-color: #00a999; + &:hover { + background-color: #009979; + } + } + } + .Table_Main{ + width: 1020px; + border:1px solid #e9e9e9; + text-align: center; + } + .Table_List{ + background: #e9eff4; + } + /* 신청인정보 */ + + button:hover { + background-color: #0056b3; + } + +} +.input-data-modal-content { + display: table-cell; + vertical-align: middle; + .input-data-modal { + position: relative; + width: 1000px; + height: 280px; + margin: 0px auto; + padding: 40px; + background-color: #fff; + border: 1px solid #000000; + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); + .input-data-modal-content { + .input-data-modal-title { + font-size: 34px; + margin-bottom: 45px; + text-align: center; + } + .input-data-modal-body { + .input-data-modal-table { + .input-data-modal-thead { + tr { + th { + padding-left: 13px; + padding-bottom: 10px; + text-align: center; + } + } + } + } + } + .input-data-modal-tail { + .buttons { + display: block; + text-align: center; + button { + background-color: #007BFF; + color:#fff; + border-radius: 6px; + border: none; + padding: 5px 10px; + + &.apply-button { + background-color: #00a999; + &:hover { + background-color: #008979; + } + } + &.modification-button { + background-color: #00a999; + &:hover { + background-color: #008979; + } + } + &.apply-cancel-button { + background-color: #ed2227; + &:hover { + background-color: #ad2227; + } + } + } + } + } + } + } +} +/* ====================================== */ +// 집합교육 조회 끝 +/* ====================================== */ + /* ====================================== */ // 방문교육 신청 시작 /* ====================================== */ @@ -3464,4 +3604,4 @@ ul.faq-q > li textarea { } /* ====================================== */ // 방문교육 신청 끝 -/* ====================================== */ \ No newline at end of file +/* ====================================== */