diff --git a/src/main/java/kcc/com/cmm/LoginVO.java b/src/main/java/kcc/com/cmm/LoginVO.java index 129e9fb4..c9262435 100644 --- a/src/main/java/kcc/com/cmm/LoginVO.java +++ b/src/main/java/kcc/com/cmm/LoginVO.java @@ -147,6 +147,8 @@ public class LoginVO implements Serializable{ private String memberName; private String memberPost; private String memberPw; + private String memberGrant; + private String enableDept; public String getId() { @@ -580,6 +582,18 @@ public class LoginVO implements Serializable{ public void setMemberPw(String memberPw) { this.memberPw = memberPw; } + public String getMemberGrant() { + return memberGrant; + } + public void setMemberGrant(String memberGrant) { + this.memberGrant = memberGrant; + } + public String getEnableDept() { + return enableDept; + } + public void setEnableDept(String enableDept) { + this.enableDept = enableDept; + } diff --git a/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java b/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java index cdd489ad..70720c71 100644 --- a/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java +++ b/src/main/java/kcc/let/uat/uia/service/impl/EgovSessionMapping.java @@ -61,14 +61,21 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping { String strOrgnztId = rs.getString("orgnzt_id"); String strUniqId = rs.getString("esntl_id"); /**2010.06.30 *이용 *조직명 추가 */ - String strOrgnztNm = rs.getString("orgnzt_nm"); - String strAuthority = rs.getString("authority"); + String strOrgnztNm = rs.getString("orgnzt_nm"); + String strAuthority = rs.getString("authority"); /*String strMberSeq = rs.getString("mber_seq"); String ofcpsNm = rs.getString("ofcps_nm");*/ -// String offmTelno = rs.getString("offm_telno").toString(); - + /*2024.08.12 AS-IS 분쟁조정 정보 추가 */ + String strDept = rs.getString("dept"); + String strMemberPosition = rs.getString("position"); + String strOffmTelno = rs.getString("offm_telno"); + String strMbtlnum = rs.getString("mbtlnum"); + String strGrant = rs.getString("user_grant"); + String strEnableDept = rs.getString("enable_dept"); + + // 세션 항목 설정 LoginVO loginVO = new LoginVO(); loginVO.setId(strUserId); @@ -86,8 +93,19 @@ public class EgovSessionMapping extends EgovUsersByUsernameMapping { /*20221012 대시보드를 위해 직급 코드 추가*/ /*loginVO.setOfcpsNm(ofcpsNm);*/ -// loginVO.setPhone(offmTelno); + /*2024.08.12 AS-IS 분쟁조정 정보 추가 */ + loginVO.setMemberName(strUserNm); + loginVO.setMemberDept(strDept); + loginVO.setMemberDept(strDept); + loginVO.setMemberPosition(strMemberPosition); + loginVO.setMemberTel(strOffmTelno); + loginVO.setMemberPhone(strMbtlnum); + loginVO.setMemberEmail1(strUserEmail.split("@")[0]); + loginVO.setMemberEmail2(strUserEmail.split("@")[1]); + loginVO.setMemberGrant(strGrant); + loginVO.setEnableDept(strEnableDept); + return new EgovUserDetails(strUserId, strPassWord, strEnabled, loginVO); } } diff --git a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java index ae2b507f..3aaaaeaa 100644 --- a/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java +++ b/src/main/java/kcc/let/uat/uia/web/EgovLoginController.java @@ -619,6 +619,21 @@ public class EgovLoginController { httpSession.setAttribute("adminId", user.getId()); httpSession.setAttribute("loginId", user.getId()); // 자동완성 공통으로 쓰기위해 httpSession.setAttribute("esntlId", user.getPassword()); + + /*AS-IS 분쟁조정 세션 추가*/ + httpSession.setAttribute("memberIdx", user.getUniqId()); + httpSession.setAttribute("memberId", user.getId()); + httpSession.setAttribute("memberName", user.getName()); + httpSession.setAttribute("memberDept", user.getMemberDept()); + httpSession.setAttribute("memberPosition", user.getMemberPosition()); + httpSession.setAttribute("memberTel", user.getMemberTel()); + httpSession.setAttribute("memberPhone", user.getMemberPhone()); + httpSession.setAttribute("memberEmail1", user.getMemberEmail1()); + httpSession.setAttribute("memberEmail2", user.getMemberEmail2()); + httpSession.setAttribute("memberGrant", user.getMemberGrant()); + httpSession.setAttribute("enableDept", user.getEnableDept()); + + session.setAttribute("message", "common.message.login.success"); } } diff --git a/src/main/java/seed/com/gtm/board/CaseBoardController.java b/src/main/java/seed/com/gtm/board/CaseBoardController.java index 66b29e11..f16bdba1 100644 --- a/src/main/java/seed/com/gtm/board/CaseBoardController.java +++ b/src/main/java/seed/com/gtm/board/CaseBoardController.java @@ -37,14 +37,13 @@ public class CaseBoardController { // /gtm/case/board/form/write.do @RequestMapping(value="/board/{boardIdx}/write.do", method=RequestMethod.GET) - public String formWrite(ModelMap model, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + public String formWrite(ModelMap model, HttpSession session, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ paramMap.put("boardIdx", boardIdx); return "/_extra/gtm/board/write"; } @RequestMapping(value="/board/{boardIdx}/write.do", method=RequestMethod.POST) public String formWrite(HttpServletRequest request ,HttpSession session, @RequestParam Map paramMap, Map map, @PathVariable(value="boardIdx") String boardIdx){ - paramMap.put("memberName", session.getAttribute("memberName")); paramMap.put("memberId", session.getAttribute("memberId")); paramMap.put("boardIdx", boardIdx); diff --git a/src/main/resources/egovframework/spring/com/context-aspect.xml b/src/main/resources/egovframework/spring/com/context-aspect.xml index 72edebb3..0abd8896 100644 --- a/src/main/resources/egovframework/spring/com/context-aspect.xml +++ b/src/main/resources/egovframework/spring/com/context-aspect.xml @@ -9,7 +9,7 @@ @@ -44,7 +44,7 @@ **service.impl.* - seed/com/gtm/**/*DaoImpl.* + seed/com/gtm/**/*Service.* @@ -62,7 +62,7 @@ **service.impl.* - seed/com/gtm/**/*DaoImpl.* + seed/com/gtm/**/*Service.* diff --git a/src/main/resources/egovframework/spring/com/context-security.xml b/src/main/resources/egovframework/spring/com/context-security.xml index aeae04cf..818308f0 100644 --- a/src/main/resources/egovframework/spring/com/context-security.xml +++ b/src/main/resources/egovframework/spring/com/context-security.xml @@ -32,7 +32,8 @@ jdbcUsersByUsernameQuery="SELECT USER_ID, ESNTL_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL, USER_SE, '-' ORGNZT_ID, ESNTL_ID, - '-' ORGNZT_NM, AUTHOR_CODE AS AUTHORITY, offm_telno AS offm_telno + '-' ORGNZT_NM, AUTHOR_CODE AS AUTHORITY, OFFM_TELNO, MBTLNUM, + DEPT, POSITION, USER_GRANT, ENABLE_DEPT FROM COMVNUSERMASTER A INNER JOIN LETTNEMPLYRSCRTYESTBS B ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID WHERE CONCAT(USER_SE, USER_ID) = ?" diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/seedfile/seedfile_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/seedfile/seedfile_sql.xml new file mode 100644 index 00000000..2770bea8 --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/config/mappers/seedfile/seedfile_sql.xml @@ -0,0 +1,215 @@ + + + + + + INSERT INTO T_EXTRA_FILE( + EXTRA_FILE_IDX, + EXTRA_FILE_ENCRYPTION, + EXTRA_FILE_NAME, + EXTRA_FILE_RENAME, + EXTRA_FILE_REGDATE, + EXTRA_FILE_SIZE, + EXTRA_FILE_TEXT, + EXTRA_FILE_TYPE, + EXTRA_DATA_IDX, + EXTRA_FUNC_TYPE, + EXTRA_THUM_YN + ) VALUES ( + SEQ_EXTRA_FILE.NEXTVAL, + 'N', + #{uploadFileNameData}, + #{reFileName}, + SYSDATE, + #{fileSize}, + '', + #{fileType}, + #{dataIdx}, + #{fileFuncType}, + 'Y' + ) + + + + INSERT INTO C_CASEFILE( + FILE_NO, + SEQ_NO, + FILE_NAME, + FILE_ORGNAME, + FILE_PATH, + FILE_EXTENSION, + FILE_SIZE, + REG_DT, + REG_ID, + MOD_DT, + MOD_ID, + DEL_GUBUN, + FILE_GUBUN, + FILE_FUNC, + COPY_CONTRACT_YN + ) VALUES ( + #{rceptNo}, + C_CASEFILE_SEQ.NEXTVAL, + #{uploadFileNameData}, + #{reFileName}, + #{filePath}, + #{fileType}, + #{fileSize}, + SYSDATE, + + + #{hpName}, + + + '', + + + SYSDATE, + '', + 'N', + #{fileGubun}, + #{fileFuncType}, + #{copyContractYn} + ) + + + + + + + + + + + + + + UPDATE T_EXTRA_FILE + SET EXTRA_THUM_YN = 'N' + WHERE EXTRA_FILE_IDX = #{dataIdx} + + + + UPDATE C_CASEFILE + SET DEL_GUBUN = 'Y' + WHERE SEQ_NO = #{dataIdx} + + + + UPDATE T_EXTRA_FILE + SET EXTRA_THUM_YN = 'N' + WHERE EXTRA_DATA_IDX = #{dataIdx} + + + + + INSERT INTO C_CASEFILEHST( + FILE_NO, + FILE_SEQ, + SEQ_NO, + READER_ID, + REG_DT, + READER_GUBUN + )VALUES( + #{fileNo}, + #{seqNo}, + C_CASEFILEHST_SEQ.NEXTVAL, + #{hpName}, + SYSDATE, + #{isGubun} + ) + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index 052e3472..d46f5485 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -89,6 +89,9 @@ /cmm/main/exctvMainPage.do /kccadr/* /sym/log/clg/SelectLogMethodList.do + + + /gtm/* diff --git a/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/list.jsp b/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/list.jsp index 28add2b1..5c0a7cbe 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/list.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/list.jsp @@ -5,39 +5,9 @@ 정보 관리 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
@@ -158,7 +128,7 @@ if(type == 'write'){ $("#bbsNo").remove(); $("#fileFuncType").remove(); - $("#searchFrm").attr("action","/gtm/case/board/${boardIdx}/write.do"); + $("#searchFrm").attr("action","/gtm/case/board/${boardIdx}/write.do"); $("#searchFrm").submit(); }else if(type == 'search'){ $("#bbsNo").remove(); diff --git a/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/write.jsp b/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/write.jsp index 75780d19..90d9d47d 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/write.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/gtm/board/write.jsp @@ -10,32 +10,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/webapp/WEB-INF/jsp/layout/seedAdminLayout.jsp b/src/main/webapp/WEB-INF/jsp/layout/seedAdminLayout.jsp new file mode 100644 index 00000000..c0f71422 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/layout/seedAdminLayout.jsp @@ -0,0 +1,101 @@ +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %> + + + + + + + <%-- 전자조정 --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- 전자조정 --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<%-- 전자조정 --%> + + +
+ + +
+ + +
+ +
+ + + diff --git a/src/main/webapp/css/seed/seed.contents.css b/src/main/webapp/css/seed/seed.contents.css index 33c55822..30b715dc 100644 --- a/src/main/webapp/css/seed/seed.contents.css +++ b/src/main/webapp/css/seed/seed.contents.css @@ -713,7 +713,7 @@ html.ie8 .alert-area {background:url(/img/seed_ver3_logo-color-small.png) 8% cen .tooltipBox .tooltipText p {line-height:1.3} .file-info, -.page-tip {text-indent:-999em;width:21px;height: 21px;background: url(/img/icon-page-tip.png) no-repeat 0 0;background-size: 21px 21px;vertical-align: middle;cursor:pointer} +.page-tip {text-indent:-999em;width:21px;height: 21px;background: url(/img/seed/icon-page-tip.png) no-repeat 0 0;background-size: 21px 21px;vertical-align: middle;cursor:pointer} .file-info{display:inline-block;margin-left:5px;} .file-info-txt{position:absolute;top:0;padding:3px;background:#2f3541;color:#fff;border-radius:3px;} @@ -1063,15 +1063,15 @@ html.ie8 .radio.checked + label {background:url(/img/radio-checked-small.png) no .pagination-control a{position:relative;float:left;display:block;width:42px;height:100%;text-indent:-999em;} .pagination-control.prev a:after{content:'';position:absolute;top:50%;margin-top:-12px;right:0;width:1px;height:24px;background:#dce0df;} .pagination-control.next a:after{content:'';position:absolute;top:50%;margin-top:-12px;left:0;width:1px;height:24px;background:#dce0df;} -.pagination-control.prev a.prev-btn{background:url(/img/pagination_big_prev.png) no-repeat 50% 50%;background-size:8px 14px} -.pagination-control.next a.next-btn{background:url(/img/pagination_big_next.png) no-repeat 50% 50%;background-size:8px 14px} -.pagination-control.prev a.first-btn{background:url(/img/pagination_big_first.png) no-repeat 50% 50%;background-size:14px 14px} -.pagination-control.next a.last-btn{background:url(/img/pagination_big_last.png) no-repeat 50% 50%;background-size:14px 14px} +.pagination-control.prev a.prev-btn{background:url(/img/seed/pagination_big_prev.png) no-repeat 50% 50%;background-size:8px 14px} +.pagination-control.next a.next-btn{background:url(/img/seed/pagination_big_next.png) no-repeat 50% 50%;background-size:8px 14px} +.pagination-control.prev a.first-btn{background:url(/img/seed/pagination_big_first.png) no-repeat 50% 50%;background-size:14px 14px} +.pagination-control.next a.last-btn{background:url(/img/seed/pagination_big_last.png) no-repeat 50% 50%;background-size:14px 14px} -html.ie8 .pagination-control.prev a.prev-btn{background:url(/img/pagination_small_prev.png) no-repeat 50% 50%;} -html.ie8 .pagination-control.next a.next-btn{background:url(/img/pagination_small_next.png) no-repeat 50% 50%;} -html.ie8 .pagination-control.prev a.first-btn{background:url(/img/pagination_small_first.png) no-repeat 50% 50%;} -html.ie8 .pagination-control.next a.last-btn{background:url(/img/pagination_small_last.png) no-repeat 50% 50%;} +html.ie8 .pagination-control.prev a.prev-btn{background:url(/img/seed/pagination_small_prev.png) no-repeat 50% 50%;} +html.ie8 .pagination-control.next a.next-btn{background:url(/img/seed/pagination_small_next.png) no-repeat 50% 50%;} +html.ie8 .pagination-control.prev a.first-btn{background:url(/img/seed/pagination_small_first.png) no-repeat 50% 50%;} +html.ie8 .pagination-control.next a.last-btn{background:url(/img/seed/pagination_small_last.png) no-repeat 50% 50%;} .seed-popup-wrap {width:95%;margin:0 auto;padding-top:2%} diff --git a/src/main/webapp/editor/webnote.css b/src/main/webapp/editor/webnote.css new file mode 100644 index 00000000..8d4e12f3 --- /dev/null +++ b/src/main/webapp/editor/webnote.css @@ -0,0 +1,949 @@ +/*------------------------------------------------------------------------------ user customize setting --*/ +div.webnote_container { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width:auto; + height:auto; + /* border-width:1px; */ + /* border-style:solid; */ + /* border-color:#d5d5d5; */ + padding:3px; + padding-top:0; + padding-bottom:0; + clear:both; + background-color:#ebebeb; + z-index:102; +} +div.webnote_file_attach_box { + clear:both; + margin-top:2px; + width:auto; + height:auto; + overflow:auto; + border-width:0; + border-style:solid; + border-color:#d5d5d5; + display:none; + text-align:left; +} +.webnote_file_attach_unit_basic { + width:45px; + height:45px; + padding:3px; + margin-right:2px; + border-width:1px; + border-style:solid; + border-color:#d9d9d9; + background-color:#f2f2f2; + font-size:11px; + text-align:left; +} +.webnote_file_attach_unit_over { + width:45px; + height:45px; + padding:3px; + margin-right:2px; + border-width:1px; + border-style:solid; + border-color:#d9d9d9; + background-color:#ffffff; + font-size:11px; + text-align:left; +} +.webnote_file_attach_unit_select { + width:45px; + height:45px; + padding:3px; + margin-right:2px; + border-width:1px; + border-style:solid; + border-color:blue; + background-color:#f2f2f2; + font-size:11px; + text-align:left; +} +.webnote_file_attach_unit_off { + width:45px; + height:45px; + padding:3px; + margin-top:3px; + margin-right:2px; + border-width:1px; + border-style:solid; + border-color:#d9d9d9; + background-color:#f2f2f2; + font-size:11px; + text-align:left; + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; + filter: alpha(opacity=20); + -moz-opacity:0.2; + -khtml-opacity: 0.2; + opacity: 0.2; +} +div.webnote_resize_handle { + clear:both; + width:auto; + height:3px; + cursor:s-resize; +} +div.webnote_resize_handle_no { + clear:both; + width:auto; + height:3px; + cursor:default; +} +div.webnote { + font-size:13px; + display:block; + width:auto; + height:auto; + border-width:1px; + border-style:solid; + border-color:#d5d5d5; + padding:5px; + background-color:#FFFFFF; + overflow:auto; + clear:both; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-break:break-all; + text-align:left; + +} +div.webnote:focus { + outline: none; +} +.webnote_toolbar_basic{ + margin:0; + padding:2px; + width:auto; + height:auto; + border-width:1px; + border-color:#ebebeb; + border-style:solid; +} +.webnote_toolbar_on{ + margin:0; + padding:2px; + width:auto; + height:auto; + border-width:1px; + border-color:#b2b2b2; + border-style:solid; + background-color:#cccccc; +} +.webnote_toolbar_down{ + margin:0; + padding:2px; + width:auto; + height:auto; + border-width:1px; + border-color:#838383; + border-style:solid; + background-color:#a2a2a2; +} +.webnote_toolbar_off { + margin:0; + padding:2px; + width:auto; + height:auto; + border-width:1px; + border-color:#ebebeb; + border-style:solid; + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; + filter: alpha(opacity=20); + -moz-opacity:0.2; + -khtml-opacity: 0.2; + opacity: 0.2; +} +div.webnote_popup { + display:none; + padding:3px; + padding-top:0; + font-size:12px; + width:auto; + height:auto; + background-color:#cccccc; + position: absolute; + border-width:1px; + border-style:solid; + border-color:#b2b2b2; + z-index:105; +} +div.webnote_popup_move { + padding:3px; + padding-top:0; + font-size:12px; + width:auto; + height:auto; + background-color:#cccccc; + position: absolute; + border-width:1px; + border-style:solid; + border-color:#b2b2b2; + z-index:105; + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -moz-opacity:0.5; + -khtml-opacity: 0.5; + filter: alpha(opacity=50); + opacity: 0.5; +} +div.webnote_popup_content { + width:auto; + height:auto; + clear:both; + padding:0; + background-color:#ebebeb; + border-width:0; + border-style:solid; + border-color:#b9b9b9; +} +div.webnote_toast { + display:none; + padding:8px; + font-size:12px; + width:auto; + height:auto; + background-color:#555555; + color:white; + position: absolute; + border-width:1px; + border-style:solid; + border-color:#ffffff; + z-index:106; +} +div.webnote_color_picker_popup { + display:none; + padding:3px; + padding-top:0; + font-size:12px; + width:auto; + height:auto; + background-color:#cccccc; + position: absolute; + border-width:1px; + border-style:solid; + border-color:#b2b2b2; + z-index:106; +} + + +div.webnote_select_box { + clear:both; + font-size:13px; + padding:3px; + border-width:1px; + border-style:solid; + border-color:#ebebeb; + cursor:default; +} +div.webnote_select_box_over { + clear:both; + font-size:13px; + padding:3px; + background-color:#d9d9d9; + border-width:1px; + border-style:solid; + border-color:#b2b2b2; + cursor:default; +} +div.webnote_select_box_down { + clear:both; + font-size:13px; + padding:3px; + background-color:#cccccc; + border-width:1px; + border-style:solid; + border-color:#b2b2b2; + cursor:default; +} + +.webnote_td_head { + width:80px; + padding:3px; + padding-right:5px; + color:gray; + font-weight:bold; + text-align:right; + background-color:#e5e5e5; +} +.webnote_td_body { + padding:3px; + color:gray; + text-align:left; + font-size:12px; + background-color:#f2f2f2; +} +.webnote_td_body0 { + padding:0; + margin:0; +} +.webnote_txtform { + border-width:1px; + border-color:#d9d9d9; + border-style:solid; + background-color:#f9f9f9; + color:gray; + font-size:12px; + height:16px; + float:left; +} +.webnote_fileform { + border-width:1px; + border-color:#d9d9d9; + border-style:solid; + background-color:#f9f9f9; + color:gray; + font-size:12px; + height:20px; + float:left; +} +.webnote_selform { + border-width:1px; + border-color:#d9d9d9; + border-style:solid; + background-color:#f9f9f9; + color:gray; + font-size:12px; + height:20px; + float:left; +} +.webnote_btn_basic { + + margin-left:2px; + + border-width:1px; + border-color:#e3e3e3; + + border-bottom-width:1px; + border-right-width:1px; + border-bottom-color:#bfbfbf; + border-right-color:#bfbfbf; + + border-style:solid; + background-color:#e3e3e3; + color:gray; + font-size:12px; + padding:2px; + padding-left:7px; + padding-right:7px; + height:20px; + float:left; +} +.webnote_btn_center { + + margin-left:2px; + + border-width:1px; + border-color:#e3e3e3; + + border-bottom-width:1px; + border-right-width:1px; + border-bottom-color:#bfbfbf; + border-right-color:#bfbfbf; + + border-style:solid; + background-color:#e3e3e3; + color:gray; + font-size:12px; + padding:2px; + padding-left:7px; + padding-right:7px; + height:20px; +} +.webnote_btn_center_red { + + margin-left:2px; + + border-width:1px; + border-color:#e3e3e3; + + border-bottom-width:1px; + border-right-width:1px; + border-bottom-color:#bfbfbf; + border-right-color:#bfbfbf; + + border-style:solid; + background-color:tomato; + color:white; + font-size:12px; + padding:2px; + padding-left:7px; + padding-right:7px; + height:20px; +} +div.webnote_popup_container_top { + clear:both; + width:auto; + height:auto; + padding:3px; + padding-bottom:5px; + border-width:1px; + border-style:solid; + border-color:#f9f9f9; + border-bottom-color:#a5a5a5; + border-right-color:#a5a5a5; +} +div.webnote_popup_container_bottom { + padding:0; + padding-top:3px; + clear:both; + width:auto; + background-color:#cccccc; + text-align:center; +} +/*------------------------------------------------------------------------------ color setting */ +form { + display:inline; +} +div.webnote p { + line-height:140%; + margin-top: 2px; + margin-bottom: 2px; + margin-left: 3px; + margin-right: 3px; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-break:break-all; +} + + +div.webnote_toolbar_container { + width:auto; + height:auto; + padding:0; + padding: 6px 3px 6px 3px; + clear:both; + text-align:left; + line-height:0; +} + +.webnote_specialchars_basic { + float:left; + width:18px; + height:18px; + padding:2px; + font-size:15px; + text-align:center; + border-width:1px; + border-color:#ebebeb; + border-style:solid; + cursor:default; +} +.webnote_specialchars_on { + float:left; + width:18px; + height:18px; + padding:2px; + font-size:15px; + text-align:center; + border-width:1px; + border-color:#d9d9d9; + border-style:solid; + background-color:#ffffff; + cursor:default; +} + +.webnote_seperator { + padding:3px; + width:10px; + height:16px; + margin-right:1px; + margin-bottom:1px; +} +img { + border-width:0; +} +.webnote_edt_text_form { + display:none; + width:auto; + height:auto; + padding:5px; + background-color:#f9f9f9; + clear:both; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-break:break-all; + border-width:1px; + border-style:solid; + border-color:#c1dddd; + +} +.webnote_edt_text_form:focus { + outline: none; +} + + +div.webnote_popup_title { + clear:both; + width:auto; + height:20px; + color:white; + font-weight:bold; + cursor:move; + font-size:12px; +} +div.webnote_popup_title_left { + float:left; + width:auto; +} +div.webnote_popup_title_right { + float:right; + text-align:center; + padding-bottom:1px; + width:30px; + height:auto; + padding-top:3px; + background-color:#e9071e; + cursor:default; +} +div.webnote_popup_title_right_on { + float:right; + text-align:center; + padding-bottom:1px; + width:30px; + height:auto; + background-color:#f94254; + cursor:default; +} +div.webnote_popup_title_right_down { + float:right; + text-align:center; + padding-bottom:1px; + width:30px; + height:auto; + background-color:#a30515; + cursor:default; +} + + +.webnote_pageadd_textform { + width:98.5%; + border-width:1px; + border-style:solid; + border-color:#d9d9d9; + resize: none; +} +.webnote_pageadd_textform:focus { + outline: none; + +} + +div.webnote_image_previews { + clear:both; + display:none; + margin-top:3px; + padding:3px; + width:auto; + height:150px; + text-align:center; + overflow:auto; + border-width:0; + border-style:solid; + border-color:#d9d9d9; +} +div.webnote_input_img_btn { + display:none; + width:auto; + height:auto; + margin-top:2px; + text-align:center; + background-color:#CCCCCC; +} + + +/* textbox */ +.webnote_textbox_form { + margin:0; + font-size:12px; + height:12px; +} +div.webnote_textbox_previewbox { + +} + +div.webnote_over { + display:block; + width:auto; + height:auto; + border-width:1px; + border-style:solid; + border-color:#d1c23d; + padding:5px; + background-color:#ffffcc; + overflow:auto; + clear:both; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-break:break-all; +} + +/* 블라인드 */ +div.webnote_blind5 { + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + background-color:#000; + z-index:104; + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -moz-opacity:0.3; + -khtml-opacity: 0.3; + opacity: 0.3; + +} +div.webnote_blind7 { + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + background-color:#d9d9d9; + z-index:104; + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; + filter: alpha(opacity=80); + -moz-opacity:0.8; + -khtml-opacity: 0.8; + opacity: 0.8; + +} +div.webnote_fullscreen { + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + z-index:103; + padding:0; + clear:both; + background-color:#ebebeb; +} +div.webnote_fullscreen textarea { + resize: none; +} +div.webnote_container textarea { + resize: none; +} + +/* source box */ +div.webnote_source_box { + clear:both; + font-family:verdana,arial,돋움; + width:auto; + background-color:#F3FBFC; + padding:5px; + margin:5px 2px 5px 2px; + + border-width:0 2px 0 2px; + border-style:solid; + border-color:#cce6ff; + +} +div.webnote_source_box ol { + list-style-type:decimal-leading-zero; + margin:0 5px 0 0; +} +div.webnote_source_box li { + + color:black; + font-size:11px; + font-family:verdana,arial,돋움; + + margin:0; + line-height:1.5; + + border-width:0 0 1px 0; + border-style:dotted; + border-color:#d9d9d9; +} +div.webnote_source_box li:hover { + background-color:#FFFFFF; +} + +div.webnote_source_box li span { + display:inline; +} + +div.webnote_loading_screen { + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + background-color:#d9d9d9; + z-index:105; + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; + filter: alpha(opacity=50); + -moz-opacity:0.5; + -khtml-opacity: 0.5; + opacity: 0.5; +} +div.webnote_loading_screen_img { + position:absolute; + top:50%; + left:50%; + text-align: center; + width:100px; + margin-left:-50px; + margin-top:-50px; + +} + + +/* image center new */ +div.webnote_imagecenter_container { + width:auto; + height:auto; + clear:both; +} +div.webnote_imagecenter_head { + clear:both; + width:auto; + height:25px; + padding:0; + background-color:#FFFFFF; + margin-bottom:4px; +} +div.webnote_imagecenter_tree { + float:left; + width:160px; + height:350px; + background-color:#ffffff; +} +div.webnote_imagecenter_tree_data { + width:auto; + padding:3px; + height:344px; + overflow:auto; + background-color:#ffffff; +} +div.webnote_imagecenter_tree_form { + width:auto; + padding:3px; + height:20px; + margin-top:5px; + background-color:#f9f9f9; + border-top-width:1px; + border-top-color:#f2f2f2; + border-top-style:solid; + +} +div.webnote_imagecenter_body { + margin-left:163px; + width:auto; + height:350px; + /*background-color:#FFFFFF; */ +} +div.webnote_imagecenter_body_top { + + width:auto; + padding:3px; + height:18px; + background-color:#ffffff; +} +div.webnote_imagecenter_body_ctl_form { + display:none; + width:auto; + padding:3px; + height:20px; + margin-top:3px; + background-color:#ffffff; +} +div.webnote_imagecenter_body_ctl_form_left { + width:auto; + float:left; +} +div.webnote_imagecenter_body_ctl_form_right { + width:50px; + float:right; + text-align:right; + color:black; + font-size:15px; + cursor:pointer; + padding-right:5px; + /*background-color: red;*/ +} +div.webnote_imagecenter_body_data { + width:auto; + height:294px; + margin-top:3px; + overflow-x:auto; + overflow-y: scroll; + background-color:#ffffff; +} +div.webnote_imagecenter_body_data_fit { + width:auto; + height:265px; + margin-top:3px; + overflow-x:auto; + overflow-y: scroll; + background-color:#ffffff; +} + +div.webnote_imagecenter_body_data_fover { + width:auto; + height:294px; + margin-top:3px; + overflow-x:auto; + overflow-y: scroll; + background-color:#ffffcc; +} +div.webnote_imagecenter_body_bottom { + margin-top:3px; + height:20px; + padding:3px; + background-color:#ffffff; +} +div.webnote_imagecenter_body_bottom_left { + float:left; +} +div.webnote_imagecenter_body_bottom_right { + float:right; +} + +.webnote_imagecenter_tree_root_refresh_unit { + cursor:pointer; + margin-left:5px; +} + +div.webnote_imagecenter_tree_folder_unit { + clear:both; + width:auto; + height:auto; + /*padding:2px;*/ + /*margin-bottom:1px;*/ + white-space:nowrap; +} +span.webnote_imagecenter_tree_icon_unit { + cursor: default; +} +span.webnote_imagecenter_tree_foldername_unit { + cursor: pointer; + padding-left: 3px; + padding-right: 3px; + white-space:nowrap; +} +folder.webnote_imagecenter_tree_foldername_unit_default { + height:18px; + padding:2px 3px 2px 2px; + font-size:11px; + font-weight:normal; +} +folder.webnote_imagecenter_tree_foldername_unit_select { + height:auto; + padding:2px 3px 2px 2px; + font-size:11px; + background-color: #ffcbb3; +} + +div.webnote_imagecenter_image_unit { + float:left; + margin-left:5px; + margin-top:5px; + width:70px; + height:110px; + background-color:#f2f2f2; + padding:3px; + text-align:center; + word-break:break-all; + overflow: hidden; + border-width:1px; + border-style:solid; + border-color:#e2e2e2; +} +div.webnote_imagecenter_image_unit_on { + float:left; + margin-left:5px; + margin-top:5px; + width:70px; + height:110px; + background-color:#d9d9d9; + padding:3px; + text-align:center; + word-break:break-all; + overflow: hidden; + border-width:1px; + border-style:solid; + border-color:gray; +} +div.webnote_imagecenter_image_unit_select { + float:left; + margin-left:5px; + margin-top:5px; + width:70px; + height:110px; + background-color:#fff5ec; + padding:3px; + text-align:center; + word-break:break-all; + overflow: hidden; + border-width:1px; + border-style:solid; + border-color:orange; +} +div.webnote_imagecenter_image_unit_cont { + width:70px; + height:auto; + /*white-space:nowrap;*/ + word-break:break-all; + font-size:11px; +} +div.webnote_imagecenter_path_title { + width:auto; + height:auto; + word-break:break-all; + font-size:11px; + /* font-weight:bold; */ + float:left; + padding:3px; + +} +div.webnote_imagecenter_path_title_buttons { + width:100px; + height:auto; + font-size:11px; + font-weight:bold; + float:right; + color:red; + text-align:right; + cursor:pointer; +} + + + +/* code highlight */ +.webnote_keyword1 { + color:#0033ff; +} +.webnote_keyword2 { + color:red; +} +.webnote_keyword3 { + color:green; +} +.webnote_keyword4 { + color:black; +} +.webnote_keyword5 { + color:sandybrown; +} +.webnote_keyword6 { + color:#ff6633; +} +.webnote_keyword7 { + color:green; +} + +.webnote_comments { + color:#c9c9c9; + font-style:italic; + font-size:11px; +} \ No newline at end of file diff --git a/src/main/webapp/editor/webnote.js b/src/main/webapp/editor/webnote.js new file mode 100644 index 00000000..eddb28ee --- /dev/null +++ b/src/main/webapp/editor/webnote.js @@ -0,0 +1,10 @@ +/****************************************************************************************** +* WebNote +* 공식배포처 : http://www.webwork.kr +* 제작자 이메일 : webwork.kr@gmail.com +* 이프로그램은 개인/기업/영리/비영리 에 관계없이 웹개발에 무료로 자유롭게 사용할 수 있습니다. +* 이 프로그램(webnote.js)은 어떤식으로든 절대 변형하여 사용 및 재배포 할 수 없습니다. +* 이프로그램의 사용으로 인해 발생한 어떠한 문제도 제작자는 책임지지 않습니다. +* 기타 자세한 사항은 공식 배포사이트를 참조해 주시고, 사용중 문의나 건의사항은 공식 배포사이트의 게시판을 이용해주시거나 메일로 보내 주시기 바랍니다. +******************************************************************************************/ +eval((function(){var d=[11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var e=[];for(var b=0;b=0;g--){var h=null;var i=f[g];var j=null;var k=0;var l=i.length;var m;for(var n=0;n31)continue;var p=e[o];if(p){p=p-1;h=p*113+i.charCodeAt(n+1)-14;m=n;n++;}else if(o==6){h=113*d.length+(i.charCodeAt(n+1)-14)*113+i.charCodeAt(n+2)-14;m=n;n+=2;}else{continue;}if(j==null)j=[];if(m>k)j.push(i.substring(k,m));j.push(f[h+1]);k=n+1;}if(j!=null){if(kc;F.7X=a.6t;F.7j=a.4O; = JP? WP+a.6t: fP+a.6t;F.6Q Jd? Wd+a.4O: fd+a.4O;j. id *fu/, F2); M;o.fw kz kD kE kG kJ \'fw G43 ;o.fS 4J.1M(o.43)},fz G3M ;o.fU 3M. Xm2 " -3M);o.fZ \'fZ D a=o.g1(),b=0,c= F2,d=0,e=0,f;U(f in o.2I){ /h=d=0;h %o o.Q;h++  "3N S=f)D g=o o[h].23,k=o o[h].Z;1k g=o o[h],k=j.I[g];if( "bc S=o.6N 0= )5R.Q)1N;if(-1= )aB(g,o.5R) B "4M c=g)bq}1k if( "4R So.6N B0 %=o.aB(g,o.5R) B "4M cg)bq;c ~4M cg?o.1n Z "+g+ ".28 " }7k://3i.4z.kr/aA/4M.28 n3M.K+= I  1c+ F7 id= #bG i1W+ "y "+g+ F7 z= #64 # 4I= $ 58/, #4h #) H2 6y= $ 4h/, #at #) H2 3z= $ at/, #4h #) H2 5b= $ 4h|at/, #58 #) H2 1E= H214( #ccx2 U i1W+ F U "+g+ F U "+k+ # H7) " 1d= F7+k+ j22 1o ~81 #+k+ # IE #;d++;e++}b++;0 %d Ba &b 43M.K+= I  1o.1n Zcm.28 # z= #cq # 1o= #cm 622);( "4R So.6N||0 %o.5R.Q) B0===d Ba===b =c=o.3M. `21e Lc[c.Q-1], "cq S=c.M Bo.3M.5g(c) .fD G1S ;o.cv() V Xj " V 1W VB.1c=o.1c \' Vm0 ~lV " V2s= _ " -1S) VcF if( ICp & %br & %/p & So.K|| ICbr & So.K|| ICp &x2626; %/p & So.K|| F2 )K.5v)o.K= F2;1g.6w(o.1W, "2A e VlU q2u(w(){j.d2();j.d3 \'0)};D a={} V5x  /b=o. `2G L0;cx3  H aq=o.de Lx2  P ap=o.dk 1Gx2 ){a=o Gx2 @ 8 H 62=o.de Lx2 @ 8 P 5D=o.dk 1Gx2 @ 8b){b=b?b: >c;a===o =F.51=o,F.7a(b, "1G ")) 1ex2 a){F.1R=o}, 8a){a=a?a: >c;F.1R 7a(a, "45 ");a.2v?a.2v():a.5E=!0; 3 B 3 \'b[c].7A qF.1R=o;1g.ao()}} VdG  F2 )K B0==j.4d() 4K=H.5M())} Val qa=a?a: >c;a.lT B32==a.7Q?(1g.e9(), 3? 3():a.ea=!1):a.lS B13==a.7Q =1g.ak(), 3? 3():a.ea=!1 .fE G43.1M( 5); 5. XlR " VK= 5.E; 5 ao.1c \';$y(o.17()).4p?o.3 r$y(o.17()).4p-10 \':o.3 r "98% n3b. 1W; 5.cF 1g.6w(o.1W, "4Q e; 5.dG }},fG G6G ;o.ev 6G. XlQ " -6G)},fJ G5U ;o.ey 5U.M=1 )4P? "ez " }lP n5U ?j. id *eB/, F2)} -5U)},eD CO= F2==a||  S1b a?0:a},eI T F2!=a B a 41c=a)},ai C8l 0eL C6N 0eN C5R= F2==a?[]:a.V( { e,eO 0lN i8l},7K G eO \'eR C33 0ag >Z 4 33 Zj.9k mf C1n 4 33 ZdZ me C55 4 33 Z5e md C2l 4 33 Z95.6e mc >T 4 2l},aa C5Y 4 33 Z8U.6e "},f4 >w 6 >u 9 >P b C3m c C3A f >a n >s o C3Y 0lM T "lL o.2I.3N=a)},fs $ a O4V t $ a O4x 0a6 $ a ~ko ");o.2j 0lK $ a O7S x $ a O53 y $ a O59 06a 0fu *fB G4J ^6a \'fS G43.id ~lJ *5r 0lI *fU G3M ^5r \'17 0lH *cv G1S ^17 \'1K 0lG *fQ G3b ^1K \'39 0lF *ev G6G ^39 \'a3 0eB *ey G5U ^a3 \'4Y TY "bG i1W+ "y \\},fY 0lE mB: /0,d;U(d in b b[d]===a)Y c;c++}Y-1},g1 D a=0,b;U(b in o.2I)a++;Y a},4d .!1,b ~lD 96 97 98 99 910 911;aP:11.0 ".V( "; L0;c %b.Q;c++)if(-1 %2W.56.3L(b[c])){a=!0;1N}Y a},aV l 3t 7 +,9Z l 3t 8 +,aX l 3t 9 +,aY l 3t 10 +,6D l aP:11.0 ")|| 3t 11 +,8g 9W.9Y.5S();Y/lC/ a)?!0:!1},9O 9W.9Y.5S();Y/lB/ a)?!0:!1},bd 9W.9Y.5S();Y/lA/ a)?!0:!1},76: /!0; b B "bo Sb =c=!1 6d;J.9K?(d=J.9K( ;lz(a ;9I(c),c=19.3q(),c.6R(),c.6T(d)):J.4U =d=J.1T.bA( ;lx(a ;9I(c ;1L( <1I  M,lw K1g.1Y},lv K ?f},lu K1g.67},20 b){ ?0(a,b)},ls  _ So = F2 "= F2;o.5Q \'3G T _ So +=a "+=a;o.5Q \'lr T _ So =a+ ,K "=a+ 5.E;o.5Q \'c2 Tif( a) _ So =a "=a,o.5Q();1k Y _ So  "},Z Kj.8g()? ,lq: ,lm},lh K ,K},5Q pg.6w \'9B Cai(a);o.7K();1F= )?j.S(  1S : \\):( _ "= ).2s? ,2r(): 5.2r(),j.S( "1S [ "+j.17() *le/, F2)+ "] ld " <7N T1g.7N(a)},6m pg.ci \'aO pg.co();! s4V Bo.6m();! s53 Bo.cp \'6o b){ 1.6p({9x:a,5L:b})},9v T /b=[],c=0;c % 1.Q;c++) 1[c].5L!=a Bb.6p({9x: 1[c].9x,5L: 1[c].5L}); 1=b},lc K 1},4S b,c){F.4S(a,b,c)},9t Tif( cB)4j{Y cB.lb(a)}4i(b){4j{Y cH( "( \\+ ") e4i(c){j.5K( "3C 4f cS(cT) cU 5K: {c)}}1k 4j{Y cH( "( \\+ ") e4i(d){j.5K( "3C 4f cS(cT) cU 5K: {d .9s:0,S Tif(! s7S B  c=1b 8c)4j{8c.S( "[la: icY()+ ")] \\)}4i(b){0= )9s B1O(b),9s++}},cY 9D l9,b=a.gh(),c=a.l7()+1;10 &c =c ~0 "+c 6d=a.l6 wx3Ed =d ~0 "+d 6e=a.l2 wx3Ee =e ~0 "+e 6f=a.kY wx3Ef =f ~0 "+f);a=a.kX wx3Ea =a ~0 \\);Y F2+b+c+d+e+f+a},5K b  8c B! s7S)4j{8c.5K(a,b)}4i(c){1O(c .kS T a.4V (s +V 4x (t +x 33 Bj.eR(a.33 4Z 8g +Z g( 1n 8f(a.1n f( 55 8e(a.55 e( 2l 8d(a.2l d( 4T 8c +T c( 5Y 8a(a.5Y a( 4w (4 +w 4u (6 +u 4P (9 +P 3m (b(a.3m 3A (c(a.3A 4a (f +a 4s (n +s 3Y (o(a.3Y 2j Bj.a6(a.2j 53 (x(a.53 59 (y(a.59)},75 },9m T1g.9m(a)},d2  /a ). `2C Yb=0;b %a.Q;b++) "6S S xM =a[b].K xK. hC1f z= H2kO $-kL $-1f H2 B= H25Z $-kI:kH H2 &( $s*) % $/1f & 2 "$1 " u(w(){F.8B \'2k);1k{D a= 7v),b= 3s);b.W vW;b.O vO;b.1c v1c;b.1h= 3W).E;a 2 d; 3K).E=b.O; 2V).E=b.1c; 6k) 2 d}},7B }1X {b0 TD b [6a Aa [4Y(a) 6c ),d= 5,e [a3 A0 )3g? Eg=1,j.1c=c  *px/, F2),j.O=b.B.O *px/, F2),j.b5=b.3R,o.7B=J.1T.B.8A uB.8A ~4N {b. XjP {e 21V {o.5d(),a.W=a.W *3g/, "8y Ya.1d= 78y): Eg=0,b. XdX {b a "1X {e 2 d Ej.1c \',j.O =/^[0-9]+$/g j.O)? rj.O \': rj.O),d ac ,d c.4p-10 \',a.W=a.W *8y/, "3g Ya. X64 {a.1d= 73g uB.8A=o.7B,o.7B ~1X {c.2r( <5d  D==F.3g){D a [6a Hb ),c= 5,d [5r He [39 A Wd?(a.B.2e Jd 1y JP #:(a.B.2e= fd 1y= fP #; ? Q=  O=19.4X #: Q JR O=J.1A.4p #;D d Bd N,f=0; "1V ce.B.1x =f Be N);e & -d-f-12;50 &=e||(b ae \',c 1C(a.B.O.R -12 \' Eb  .jO  D==F.3g){D a [6a Hb ),c= 5,d [5r He [39 A WS?(a DA.3S 1c Jl #:(a DT.3S 1c= fl #;  B  & Wl =a a  #;D d Bd N,f=0; "1V ce.B.1x =f Be N);a & -d-f-15;b aa \';c b.4p-10 \';c ab }},b8:!1,7a b,c,d,e 2==a.24)ba(J.bb qY!1}, ?y(),b){1v "45 ":o.6s([[ "be { 7bf, "14( #ao #) "]],d6);1N;1v "1G ":1F!=F.51 B1F!=F.6P B1F!=F.6H 4b8=!0,o.bg(),o.6s([[ "bh { 7bi - 8wx2 U1G #) "],[ "bl { 7bm - 8wx2 Ubn N 3M - 8vx2 UjL K 3J - 8vx2 U7M I 3H - 8rx2 U1y G 3F - 8rx2 U1r E 3D - bEx2 U C 3B - bHx2 U A 3z, "14(x2); a.x22==1b a =214(x2736x2 Uf z=x2757 j3E$-1x3C2W.56.3L( "(/px/, F2),10).1S.2s? ,K @b[c].2L=w(x22.V(x22 Y21a c1b a?a:o.x27) "],[ "j=J.1J( "C ") \',a.B.3Ex22;f+ ~xx221a c1b  Lc.R(/(x22o.M=o.M *};b=o. `22);U(c=0;cx3/gi, IC1: 5.E \') Tx221ax tx3E$=1C Q.R+ "px " Bj.f [17()) i1W},x22)?!0:!1}$y(j.17()).;o.43.1M(o. U(D a=w(a,b){D c= lx22= j22+.B.1x ~ {j.I.jx26x26(o.$y(j.1K()) j3Ex$y Eu())b[c].4r=w( D a=2 o.M=F.3e a %C z=x B( C4.2L qCb.Q;c++)$y(o.5B).x26x26 To. J.1,c a "x2 o. $x2 "x3= W l x22),c=F.1I()}.5o,10)=!0);o. Wl(a F.1U.B. "==:w(a){7, #;o.1S.J.1A.3M ~ "),+ "/=$y(j. "+a)( $.id=o. "on1t(x2 =:w(a,b "!=2N " ")}J.1T.3x22/j/R(/x3x22+o. #x f Yx22},ax22;o..2I[f] 1=w(a){b 0===j.3C/1f,J.1T.=o.1R.();10=a[b].d[e].K $n ", $m: "= " $p:w(){ 0f $o >M=w(){):j.a$y(H.();o.1W=o.i.2R(.B.1c=o;F.x221aa[f]..B.O=){if(C1e W){F.62$3$4x22x27x5Cx3Cx3E()},:{},==o..R(/(a.4:!0,,x2)}},U(D =a},o.4C/gi,a.2d=x2o.3b);D j.I.?j.a;3t 6lt;),d.))},F.5j19.21g.2o.1U());=1C(6gt;if(1(o.3/Cx-F.7()),','736 mx278m mx271rx2 X],[ tjy gj.I.jx, +736 mx278m mx277Mx2 X],[ tjw gj.I.jv, +736 mx27bP mx27x2 X]],9D));1N;1v tbQ t:o.6s([[ tbR 0S, +7bTx2 X],[ t3B 0V, +7bWx2 X]],9F)}},ju: :2,js: :2,bg k},4o k},6s:w(a,b){1==j.4w \\6o.8I();1F== , .o.1U Dx22C t),o.1U. Y78 go.1U.id=o.3v(), n1M(o.1U));D c;c= :2+( tx Cx27O: t+b jpx;60:61; 2 t) U o "8G c  Fx278F ! v \' Vx22/jr.28 5x271H iB WZ:8E 2 x Bjq+ ;c  Fx277f i 1Ix2 #1d 7g j (fO) i5x fV (2 6x 7f (2 2L fW (2x Q v \' Vx22/fP.1B !/C 3;c+=x E t;c+ M o "fRx2 8D() j c  Fx272g U(D d= :2,e= :2,f= :2,h=0,g=a.Q;hx3Cg;h++)d=a[h][0],e=a[h][1],f=a[h][2],c  u "4B i4I 4G (2 5b 4B (2 6y 86 (2 3z 4G (2 1E=x5C :2+f Ux5C ;Ex3C1e W \' Vx22/ t+d j.28 5x271H 2 t+e+ ;c 3C/C 3;c+=x E t;c+= ;o.1U.K=c;o.5m( tin go.1U.id);F.8C(b);F.1U.2r()},1I k1F!= , \\6 cx22!= ,.B.1x .1==j.4x?o.5m( t5s go.3v()): ,.B.1x= cx22, ton p$y(j.17()).2s \\6$y(j.17()).2r());o.c6();F.4o();P.2a= :2;J.bb=w(a){Y!0}},c6 k1F E3u()) \\6 cx22 E3u b1x .$y(F.3u b1x= cx22)},3v ?x22jp T8D ?x22jo T3u ?x22jn T2X ?x22jm T8d ?x22jk T8e ?x22ji T34:1F,4E:w(a,b){ t1a p1b b .b=2);if(1F==o.34)o.34 Dx22C t), l Yjh g lid=o.8e(), n1M(o.34);1k if( cx22!= lB.1x)Y; lK=a;o.5m( tin go.8e());if(19.4X)D c=19.4X,d= s;1k c=J.1A.4p,d= I;D e=1C( l5o,10),f=1C( ljg,10),d=d/2-e/2,c=c/2-f/2; ]d?(d 6d,c 6P):(d 9d,c 9P); lB.1y=c $; lB.2e=d $;2u(w(){F.5m( t5s gF.8e())},jf*b)},8k:{},cn:7n,2B kif(1F== -){o.8k=2u(w(){F.22()},o.cn);o.6i Dx22C t);o.6i. Yjd t;o.6i.id=o.2X(); n1M(o.6i);D a Dx221e t);a.W= Vx22/jc.1B t;a.id=o.8d();o.6i.1M(a);o.5X();o.87()}},5X ^if(1F E8d())){a=$y(F.8d());a.B.jb= tja t;if(19.4X)D b=19.4X,c= s;1k b=J.1A.4p,c= I;b=b/2-50;c=c/2-50; ]d?(c 6d,b 6P):(c 9d,b 9P);a.B.1y=b $;a.B.2e=c $}},22 k t1a t!=1b - \\61F!= - .2i(o.8k), n5g( -))},87 k1F E2X()) . ]S?($y(F.2X bO= ]S $,  ]l $, s? sx3E ]l .  s $): Ix3E ]l .  I $)):($y(F.2X bO= n3S $,  n3l $))},4S:w(a,b,c){if(!1!==j.59){D d=a.V( t/ t).2F().V( ty t).2F();c Dx221e t);c. Y6A t;c.W=a;c.1o=b;c.1d=b j (x Bj9 j) t;c.O=40;c.1c=40;c.5x=w(){ t6A po.M .o. Y8p t)};c.6x=w(){ t8p po.M .o. Y6A t)};c.4r=w(c){c=c?c:19.2c;2==c.24?(o. Y6z gF.7a(c, tbQ ga,b,d)):o. Y6z po.M? t8p t: t6z t};c.7A=w(){1g.2y();14( t5I ga,b)};19.1Z .c.j8=w(c){(c?c:19.2c).2d();F.6s([[ tbR 0S, +75I a j b+ : X],[ t3B 0V, +78t 5L+ : X]],9F)});$y(j.39()).1M(c);$y(j.39 b1x= t2N t;F.5d()}},6f:w(a,b){ t1a t!=1b a.id .a.B.cG=b,a.B.j7= tj6(cG= t+2k*b j) ga.B.j5=b,a.B.j4=b)},cL 8=49(),b=$y(H.7I).E,b=j.2l j?2J=cPx26j3= t+j2(b);a.2U( t8z gb,!0);D c=2u(w(){a.3F();j.S(j.I.3w)},j.4A);a.3E=w(){4==a.3V .44==a.3T?2i(c):(2i(c),j.S( tcZ 5i! t)))};a.3a()}},H={1l: t5Z 8f 8J j1 j0 iY d8 iW da iU iS iQ iO iM t.V( t t),7T: tiK gdi 8;a M "2g 2 t+( t =3C5z id \'o.7T &z hiJ Pw h7 !/5z 3);a+= ;a+ M "2H 2  )24 R 5u & dnx2 #z WQ e },5M kY j.4d()? ;Cpx3Ex2626; rp 3: ;Cpx Qbrx Q/p 3},4v: tiE g8Z kY j.4d()? ;Cp id \'o.4v j 2x2626; rp 3: ;Cp id \'o.4v j !brx Q/p 3},90 ?x22iD T6j ?x22iC Tdx 8;a M "2g !1G O Wk% Pm=0 3f=0x3E 3 N  s 2 5Ct = BiB j: 5Ct *  q 2 5Ct =3C1L 23 hiAx2 90() &1d iz &z [O 2  1i E h5C 25C >x3E  1i E [x 23x >x3E 5Ct =3C/1Lx3E 5Ct * 3 SE 3 N  s 2 5Ct = Bix j: 5Ct *  q 2 5Ct = )Z `3 hivx2 6j() &1 O30 R h Pd it &z Kp 2 5Ct * 3C/L 3;a+= ;C/1G 3;a+= ;a+ M "2H 2 5Ct = )24 R 4q & dNx2 #z WQ e },7d: tir gdQ ^U(D b=[ tiq g tip g tio t],c M "2g 2 gd= :2,e=0;ex3Cb.Q;e++)U(D f=0;fx3Cb.Q;f++)U(D h=0;hx3Cb.Q;h++)d= t# t+b[e]+b[f]+b[h],c+= ;C1f B hO:9p;1c:9p;1P-1r:2b;1P-3h:48;2K-1u: t+d j ! v \' Vx22/3I.1B iO K3 Pc K3 i4I=x5C +7e1 d+ : #1d h[ t+d j] x Bim &1o KL il i 9r a U  f 3;c+= ;C _ "2H c+= t = )Zx2 7d &E hx27 j K0 Pd ih &z Kp c+= t = )24 R 4q & 9r a+ : #z h5H Y c+= },e7 8;a M "2g 2 t+( tx C B= @j:ig;1u:#ie;Z-1h:3r;1P:6W;1D-9w:6M ! v \' Vx22/j.28 5x271H 2 31 rC 3);a  ux C @  !1f B Ku:da;1D-9w:6M 231 fx3E ic ia x3C1f B Ku:#eg;1D-9w:6M 2v. t+j.3n+ ;C/1f 3;j.5Jx3Ej.3n .a  ux3Ca 4n \'j.7r &3H [x 4x27ek el i9! ! v \' Vx22/2D.28 !/a 3);a  ux3C _x C B= @  GcM; 2i8 x5Ci6 i5.i4, i3 hU hT.x3C _ 5Ct = C @  G6L; 2hR hP  7x J3i.hN.71x Hx273x 4x279P eC 9Q! 2eC rax3E,  7x JhL.71x Hx273x 4x279P eF 9Q! 2eF rax Q _ 5Ct = C @  G6L ! v \' Vx22/hJ.28 5x271H 2  7x J3i.4z.krx Hx273x 4x q29P hHx27s 9Q!x5C ;Ex3C1f B Ku:#hF;Z-eJ:6Y; 254://3i.4z.kr fx Q/ax Q _ 5Ct = C @  G6L;1P-3h:48; ! v \' Vx22/hD.28 5x271H 2  7x27hB:4z.kr@eM.71 4x27hz hx hv !1f B Ku:#eg;Z-eJ:6Y; 24z.kr@eM.71 fx Q/ax Q/C 3;Y a+= },7U Zt geS ^D b;b= t = u "2g U(D c=0,d=j.3m.Q;cx3Cd;c++)b  u "4B iB KD-eT: t+j.3m[c] j; i a1 a+ : #4I 4Gx27;14(x27eV j.3m[c]+ : #5b 4B (2 6y 86 (2 3z 4G (2 3+j.3m[c]+ ;b 3C _ = u "2H b  ux )Zx2 7U &E hx27  O7 Pd hq &3z=x 1x 2724 Ax275H R 4q & a1 a U  t;Y b 3C/C 3},7P Zo geZ ^D b;b M o "2g U(D c=0,d=j.3A.Q;cx3Cd;c++)b  Fx274B iB= @j: t+j.3A[c] j; i a5 a+ : #4I 4Gx27;14(x27f1 j.3A[c]+ : #5b 4B (2 6y 86 (2 3z 4G (2 3+j.3A[c]+ ;b+=x Ex u "2H b  )Zx2 7P &E hcrx27  O7 Pd hn &3z=x 1x 2724 Ax275H R 4q & a5 a U  t;Y b+=x E T7u Zl gf5 ^D b;b M "2g U(D c=0,d=j.4a.Q;cx3Cd;c++)b  u "4B i a8 a+ : #4I 4Gx27;14(x27f7 j.4a[c]+ :7); <2 5b 4B (2 6y 86 (2 3z 4G (2 3+j.4a[c]+ ;b+=x Ex u "2H b  ux )Zx2 7u &E h9D% i  O7 Pd hk &3z=x 1x 2724 Ax275H R 4q & a8 a U  t;Y b+=x E Thj Zi ghh Zf gh6 Z4 aQ Z2 gfh Z0 gfj LY gfl LW aK LS g2V LM g4K LI aW LC aU LA g46 Ly g7L Lw g7F Lu g7v Lr as Lp g6k Lo ak Ln gfF Ll gfH ^a M "2g !1G O Wk% Pm=0 3f=0x3E 3 N  s fI+   q i91 [hx 27Zx2 3Q+ :7  O35 R=x J Pd fK &3z=x 1x 2724x2 fj &E gk &z= dx27 au  * 3 SE 3 N  s av+   qx  q2Z <2 id \'o.3K+ : %2 <2  O5 `x=x5C +72Y  px * 3 SE 3 N  s ax+   qx  q2Z <2 id \'o.2V+ : %2 <2  O5 i6Bx3E px x )6Zx2 4K &E K i 2Yx2 #37 [7 !4y U \'o.4K U aC+ ;C/4yx3E * 3 SE 3 N  s 6C+   q !1L id \'o.3W+ (7 77= t14( <72Y < X z= <73Ox5C !1i E= t2e ;E2e >x3E /x225y ;E5y >x3E /x223h t 3D= <73Dx5C 23h >x3E /x221y ;E1y >x3E /x221r ;E1r >x Q/1Lx3E *x27;a+= t =3 SE 3 N  s aG+   q a+ hx X T= tZ t id= <7x27+o.3U &1 O25x2 %2 <2 d aH &2x=x5C +72Y  5Ct * 3 SE 3 N  s aI+   q a+ hx X T= tZ t id= <7x27+o.46 &1 O30x2 %2 <2 d aJ &2x=x5C +72Y  5Ct * 3 SE 3 N  s g4+   q !1L id \'o.7L+ (7 z= <73Ox5C !1i E= t3x ;E3x >x3E /x225C ;E5C >x Q/1Lx3E x3CX T= tZ t id= <7x27+o.7F+ : %2 <2  O35 !/Gx3E 3C/L 3;a+= ;C/1G 3;a+= ;CC id \'o.7v &z hg5 ! v hx2 3s j !/C 3;a+= ;a+= ;CC id \'o.6k &z WH iB Kx:1V 2  )24 Ax272Q R 5u & aK  t;Y a+= },g7 ^a M "2g 2 t+( ;C2o 23 hg8 Ax27g9 i8T hgax Hx277c i8P hgc/2o-5a i8S \'j.2l j 2 t);a+ Mx )4N `3 WJ R hge a+ Mx )4N `3 hl8 R Wo a+= ;C1G O Wk% Pm=0 3f=0x3E 3 N  s gj+   q i91 [hx 274Nx2 3Q Ux 272P `3 h79x2 fh &z hfL Pj K0 i8N=x5C +7as  x5C9f!--x )24x2 fl &E gm &z= dx27 as --x5C9d * 3 SE 3 N  s av+   qx  q2Z <2 id \'o.3K+ : %2 <2  O5 `x=x5C +72Y  px * 3 SE 3 N  s ax+   qx  q2Z <2 id \'o.2V+ : %2 <2  O5 i6Bx3E px x )6Zx2 4K &E K i 2Yx2 #37 [7 !4y U \'o.4K U aC+ ;C/4yx3E * 3 SE 3 N  s 6C+  5x22;a+=x22 =j:5F;1u:#6l;Z-1h:3r+=x22 =5Ctx1E=x5C +7= <2o.M=x27x22x3C/C 35Ct =5Ctx3C5Ctx3CG z K7 id \'o.x27 3+j.I.x27)x5C ;E27x QX T=x22 =3C/Cx3$y(F.2X b1c= z Kpx27 1x22: * \'j.I. mx27x22+ 2x22; 2x3Cx Fx277) <2  jpxx227 E= <+ :7  hx22+x27 <3CX T h rGx3E t14(x2$y(o.3v())$y(o.2X()) \\6(x3C1i E=x22,j.I.b27o.1L()x27x3Ex3E tx27 1d=x27 1h=+= ]x3Ca 4n= kD a+= n3 tx2 tx3x q oxx3C/1i kYx271D-1x27 z=22+j.I.3CC B==J.1J(!=$y(F.3CC z=;1P-2e:27 3H= ]R2754:// h1: tg= tCLx3Ej h i13Ex3C iEC/Lx3 t}, jj.1n+ h27) tM= t: th h3x26x2J.1A.3:w(a){/Cx3E i2 g3()).B.x221Vx275HY a+=x3C/1f t,=x27x27 + t:w(){o.34.x27,J.1T.x ux22==5Cx2x3C/19.2Mx225Ct1e W','Ct  41L i #o.3W+ M 67 77= K14( 672Y 67) K z= 673Ox5C ! I K2e :3E2ex / 0x225y :3E5yx / 0x223h K 3D= 673D 67x3E3hx / 0x221y :3E1yx / 0x221r :3E1rx / 8x3E \' M;a+= : Qx Hx3E 3 ; 5C , > aG = \' 5Ct  7x5 X T= KZ K id= 67 M+o.3U * 1j F25 LE + 62 z aI = \' 5Ct  7x5 X T= KZ K id= 67 M+o.46 * 1j F30 LE + 62 z g4 = \' 5Ct  41L i #o.7L+ M 67 z= 673Ox5C ! I K3x :3E3xx / 0x225C :3E5Cx / 8x3E x3CX T= KZ K id= 67 M+o.7F * E + 62 z fI = \' 5Ct  41f B F2m:1y ! 3Z 3Q * 1j F40 A M54:// L1 # PfK * 3z Fo.1L() Lhm z av = \' 5Ct  4X T +Z 62 i #o.3K+ M 67 E= :22 z= K1p K 1j= 675 67 2x= K14( 672Y 67) :3E px \' M;a+= : Qx Hx3E 3 ; 5C , > ax = \' 5Ct  4X T +Z 62 i #o.2V * E + 62 z + &1j F5 L6Bx3E px x3C 36Z 4K * E < L1E 2Y  37 F37 !4y U= .o.4K+ K aC+ :3C/4yx3E \'  Hx3E 3 ; 5C , > 6C = \' 5Ct  41L i #o.3W+ M 67 z= 673Ox5C ! I K2e :3E2ex / 0x225y :3E5yx / 0x223h K 3D= 673D 67x3E3hx / 0x221y :3E1yx / 0x221r :3E1rx / 8x3E \' M;a+= : Qx Hx3E 3 ; 5C , > aG = \' 5Ct  4X T +Z 62 i #o.3U * 1j F30 LE + 62 z + &1 # PaH+ K !/Gx3E  Hx3E 3 ; 5C , > aI = \' 5Ct  4X T +Z 62 i #o.46 * 1j F35 LE + 62 z + &1 # PaJ+ K !/Gx3E 3C/L 2 C 2x3C/C 2x3CC i #o.6k * z F2H M 2x3C 324 A . P4q * 1E f2  z F2Q ?3E ( O @ N Ja4: Khp Ga2: Khs G7R: Khu G88: Khw G8h: Khy G9X: KhA G9W: KhC G9V: KhE G9U: KhG G9T: KhI G9S: KhK G9R: KhM G9N: KhO G2C: KhQ Gew:w(a){a= K $2g ! Dx E x3E 3 ; 5C , > ?3E  - 5hS = 5Ct \' 5Ct x3E  -x3C1L i #o.a4 * 77 2O  z F3O ?3E 5  R F2S L3D N 5hV+ : / 5  R FhW hX+ : / 5  R FhY hZ+ : / 5  R F i0+ : /  - 8x3E 5Ct \'  Hx3E 3 ; 5C , > ?3E  - 5i1 = 5Ct \' 5Ct x3E  -x3C 3Z a2 * E <x 7x272 Lz + &B=x ) L2x 2O x3E px 5Ct \'  Hx3E 3 ; 5C , > ?3E  - 5i2 = 5Ct \' 5Ct  4C B FO: x27 4 3Z 7R * E F8J L 1j F8 Lz + &2x 2O  x 9b=0;b  Ox5 C B=x2     !1e W= .j.1n+x 1 LO <2 L1c <2 L1E 7m M, .o.7R *, M   1o F  L1d F  LB=x2 27 1h ?3E  - 5ep = 5Ct \' 5Ct  4C B FO: x27 4 3Z 88 * E F5Z L 1j F8 Lz + &2x 2O   K;U(b=0;b  Ox5 C B=x2     !1e W= .j.1n+x 1 LO <2 L1c <2 L1E 7m M, .o.88 *, M   1o F  L1d F  LB=x2 27 1h ?3E  - 5i7 = 5Ct \' 5Ct  4C B FO: x27 4 3Z 8h * E F8f L 1j F8 Lz + &2x 2O   K;U(b=0;b  Ox5 C B=x2     !1e W= .j.1n+x 1 LO <2 L1c <2 L1E 7m M, .o.8h *, M   1o F  L1d F  LB=x2 27 1h 9E = \' 5Ct  4 3Z 9X * E ib = \' 5Ct x3E  -x3C1L i #o.9W * 77 2O  z F3O ?3E 5  R e5 = \' 5Ct  4 3Z 9V * E F5x 7x273 Lz + &B=x ) L2x 2O  x3E px \'  Hx3E 3 ; 5C , > ii = \' 5Ct  4 3Z 9S * E F0x 7x272 Lz + &B=x ) L2x 2O  1 # Pij+ K ! 3Z 9R * E F0x 7x272 Lz + &B=x ) L2x 2O  1 # Pik+ K ! 3Z 9U * E F0x 7x272 Lz + &B=x ) L2x 2O  1 # P7H+ K ! 3Z 9T * E F0x 7x272 Lz + &B=x ) L2x 2O  1 # P7Y *x3E px \'  Hx3E 3 ; 5Ct  e3 F2 ?3E  - $e2 9N+ K !C B F60:61;O:1X;1m- 8J;3y:48;2K-1u:5Z;1u:8f 2C+ K !p N 5dS+ :3C/p  @x3E 5Ct \' 3C/L 2 C 2 @ N ( O $2H ! 324 A . P5u * 1E dR  z= Bx27  J7b: Kis G9e: Kiu G7p: Kiw GdH:w(a){a= K $2g ! Dx E x3E 3 ; 5C , > iy = \' 5Ct  4C B FO: x27 4 3Z 7b * E F8f L 1j F5 Lz + &em 96  x 9b=0;b  Ox5 C B=x2     !1e W= .j.1n+x 1 LO <2 L1c <2 L1E dB M, .o.7b *, M   1o F  L1d F  LB=x2 27 1h 9E = \' K;x22;a+= :5Ctxx27 i #o.  O:2b;1m-B:2S;1m-1u:7O:1X;2m:1y;2K-1u:1X;2m:1y;1P-1r:42; L1m=0 3J=0 3f=0x3CG z K H - `  * 3 P  Q  O  3E+ \'   ~ } Ix27O:  Z 4F # =x278x27z=  !2;U( dx "x2  ix x .x % x  } U ,1n+ 5 xO +c +E= F x275Gx27, 8o.4F 7, Y ) F 1o= Y  1d= Y  B= > K H - `  * 3 P  Q  O  3y+ \'   Z 5l #3 02 x z=  x3 2 3 P  Q  O  3u+ \'   Z 5k # 02 x z=  x3 2 3 P $/1G w $ ` $C \\72H Y3E 3CC \\72H 24 xE ,I.5u 7 1E= F x27ctx27) F \\72Qx27 !2;Y a+= E/C N2},6V: td5 t,8i: tje t,cl H;a= EC \\72g -1G O=x272k% x1m=0 3J=0 3f=0 w  Q  O  5Ct ut 9ep+ t:  *   ~ } Ix27O:  Z 6V #5Z =x275x a  !2; { dx "x2  ix x .x % x  } U ,1n+ 5 xO +c +E= F x275Gx27, 8o.6V 7, Y ) F 1o= Y  1d= Y  B= > K H - `  * 3 P  Q  O  5Ct ut 9e5+ t:  *  x27 w 5Ctx OX T=x27Z 8i #3 02x a  w  * 3 P $/1G w $ ` $C \\72H 24 xE ,I.4q 7 1E= F x27ckx27) F \\72Qx27 !2;Y a+= E/C N2},cj H;a= EC \\72g -1G O=x272k% x1m=0 3J=0 3f=0 w  Q  O  99E+ \'   Z 5q #2k% 05x a  1d ,I.6h 7 w ( 96h+ t) v/G w 3 P  Q  O  96C+ \'  x27 w 5Ctx O1L id= 8o.5p 7 \\73O - f y Y3E 97H+x2 1E v fx273r x3D w 99u+x2 1E v f r Y3E 97Y+x2 1E v/1L w  * 3 P  Q  O  3J+ \'   Z 5n #1 02x a  x3 2 3 P  Q  O  3I+ \'   ~ } Ix27O:  Z 4D # =x278x27z=  !2; { dx "x2  ix x .x % x  } U ,1n+ 5 xO +c +E= F x275Gx27, 8o.4D 7, Y ) F 1o= Y  1d= Y  B= > K H - `  * 3 P  Q  O  3E+ \'   ~ } Ix27O:  Z 4F # =x278x27z=  !2;U( dx "x2  ix x .x % x  } U ,1n+ 5 xO +c +E= F x275Gx27, 8o.4F 7, Y ) F 1o= Y  1d= Y  B= > K H - `  * 3 P  Q  O  3y+ \'   Z 5l #3 02 x z=  x3 2 3 P  Q  O  3u+ \'   Z 5k # 02 x z=  x3 2 3 P $/1G w $ ` $C \\72H 24 xE ,I.4q 7 1E= F x27chx27) F \\72Qx27 !2;Y a+= E/C N2}},1g={jj: R2,1Y:{},67: R2,2f: R2,cf cY J.jl(a)},9A cJ.4U?( |.5V(a,!1,1F), |.1L()):(1 @  Da,!1,1F))},89:w(a,b){J.4U?( |.5V(a,!1,b), |.1L()):(1 @  Da,!1,b))},c9 689(a,b);if o7Z t!=a){ {c &x221D Zd=0,e=c.Q;d ve;d++)if( ? hx22)){D f= ? hx A2p( hx AB.1u=f} b  qx3C1D  E1f t) q e j, t/1f N2)}},bY 689 ojt t,b); {c &x221D Zd=0,e=c.Q;d ve;d++)if( ?x226J t)){D f= ?x226Jx A2p o6Jx AB.bO=f} b  qx3C1D  E1f t) q e j, t/1f N2)},bX 689(a,3); {c &x221D Zd=0,e=c.Q;d ve;d++) ?x221j t) :c[d].2p o1j Zc[d].B.bM=b); b  qx3C1D  E1f t) q e j, t/1f N2)},bL:w(a,b){D c Xx22C [c.K= z; {d=c.1t op Ze=0,f=d.Q;e vf;e++)d[e].B.bJ=b mc.K);!0===j.4d() ^6!1===j.6D() ^6o.8n 8n H= b7());a.K=a.K qx3Cp[ G 2 u Lx3E( us  s  pp ( 1D[ G 2 u Y5C( u),;= yo- yq ys- yu]* w( us  s p  Epx  pp w( us  s  e (3C/p _  e w( us  s  pp (3C/1D _3C/p _ 1f[ G 2 ux27;= yo- yq ys- yu, u( u)]* w( us  s  p1f ( 1D[ G 2 ux27;= yo- yq ys- yu, u( u)]* _5Cs*[ ur un]*( vbr  e ( p[ G 2 u Lx3E( v1f[ G 2 u Lx3E)+( us 3Cbr w)*( vbr p  pp ( p[ G 2 u Lx3E( v p1f w)+ v pp (22);a.K=a.K.R(/[ ur un]+  t ur un t)},bu cD b Xx22C [b.K= z;J.1T.1M(b);D c= hx22,d=c; t7Z ] :c= t2K-1u t,d= tbt [ t1D ] :c= t1D-eT t,d= tbO [ t72 ] :c= t1D-1j t,d= tbM [ t8H ] :c= t92-1c t,d= tbJ [ {e=b.1t o1D Zf=0,h=e.Q;f vh;f++) t8L ]x26 ;w( hx22)x26 ;p o1u Z t1D ]x26 ;w o6J t)x26 ;p o6J Z t72 ]x26 ;w o1j t)x26 ;p o1j Ze k3c?e k3c(c):e k2p(d);a=b.1t o1f [f=0;U(h=a.Q;f vh;f++) C? C(c):a k2p(d);a=b.1t oC [f=0;U(h=a.Q;f vh;f++) C? C(c):a k2p(d);c=b.K;J.1T.5g(b);Y c},7N ca=j.4Y(a); t2N t==$ 4B.1x?($ 4B.1x= t1V t, /B.1x= t2N t, W= W.R(/4Q u.28/, t2A.28 Z$y(a).1d=j.I.2A, /2s= ton t):(o.bp(), /B.1x= t1V t,$ 4B.1x= t2N t, W= W.R(/2A u.28/, t4Q.28 Z$y(a).1d=j.I.4Q, /2s= t7J t,o.b7());o.b3();o.gb 5f:0,5h:0,bp )5h=0; R2!= z :o.5h= z.Q) m t ub ub t+ z); b  qx5Cr/g, R2);D a= /K.V o ub ub t)[0].jT(/ ur/g),b=0;a :b=a.Q);o.8M o4Q [o.5f= /K.3L o ub ub t)-b;1g.6w(j.1W, t4Q t)},8M cif(j.aV()||j.9Z())Y!1;D b=/([a-4e-4g-9 F ux27]+ w)( v)(p|1G| p1G|7D| p7D|X|24|L| pL|G|hr|1e|C|ol|li) c=/( un)( v p*)(L|li|jV)/gi; g ]? SK() b, t$1 un$2$3x2 7k://3i.4z.kr/aA/4M.28 jd JW G ,V od JB.1x Gf++ A0 ?e G0==f){d )7k://3i.4z.kr/31/kF/ >+dJ(e +/ >+f+j.33);e=J R26d gf=!1;U(a=0;a ?e.Q;a++)if(e JW Ge JW==d){f=!0;1N}0==f 7= x226d ya.W=d,J R27Gx .1M(a))}ba(b){1v >2A q7N ,1D eS 1h) 572 eZ 1h) 58H f5 1h) 5dl qdP ,dp qak ,ef di(),dm) l7T).2r() 5dt >: H= 7|| !o.2f? XkJ):( 4dx(),f0),$y(H.6j O2r()) 58L 27Z dQ 6K /8 fH 1i /c g7 1i) 5aA >: NU( H+j.5Y, >8U ( >2e=10,1y=10,O=kM,1c=kN,3T=9j,kP=9j,kQ=9j > /d >:F.6I=!1; 4fq 6R, >3r gP.6m();P.4W();F.6I=!0 5cP fd 1i) l7I).2r() 55e >:j.9Z Vj.aX Vj.aY Vj.6D()? 4ab 6T): 4ab 6U /E dr(),kV /q ew 6W /r dH Sdb) 51G cR Sd9 /x qdU ,hr qdT ,eW 28Y >:1==F.3g? XkZ):F.gf ,3g >:F.b0 ,4M e7(),l0) 56M 2eY 26Y 2fv 2g6 2gg 2dI 2c7 2cg 2cs 2cO 2d0 2d1 2d4 q9A ,l1 qd7();1N;8E:1O(c + 9I.l3)}}},d7 @ x22C U.K 7 4b=a R21f yc=0 2w \'B >) + sB U.K=a.K 8x3C1f B| ? 21f ;b=a R21D gU(c=0 2w \'B >) + sB U.K=a.K 8x3C1D B| ? 21D ;b=a R2p gU(c=0 2w \'B >) + sB Z20(a.K); 3K= 3K 8x3C1f[ U4k-4e-4g-9% U-: U t5Cx27;=]*  8x3C 21f ;o.8n GdN \'90() Db h6j OE A H==b|| >54:// N)Y Xl4),$y(H.6j O1L(),!1;o.dW &e1 1d) 9r: #d c9 &l5 ka=o.bu(a);  66w I Kj.1W; !a 7=j.1W @1W=a; !b :b )on j 32s? >2A >: >4Q g >2A N?(o.eG(), K() E 3K,o.8M So.eo So.ej(b)): 3K= K OE;j.1W=c},eV 1U) a1: #U bY &f1 1P) a5: #P bX &f7 1u) a8: #u bL &au ID c OQ).E; M=2D 9n; M.W=c; o= !a?c :a; d= !b? o Q.x :b [U 8o l46 8d TB Gas . ; IJ.g8 [k).2G? k).2 i4m =o): k) S29q =o,!1);a.cD G9o \'3k).cx.J.1T.K; F2P 9y 5N: za a Q| > b) K ,d=a %2],e=a %3];1k D f )0 N? :a; , N P6o(d,c), Q Ec,1g.au(d,e) c,d, >45 m:1O(f); p},aK \'3Q Db OW Dc OK Dd= ?E,e OU Df \\6 Da= t3C1e W= +a+ t3C/a B Z20(a 6fa k Ra ,c=b Q. gc.2F();c=c.68 \'. Z20( t3C1e W= +c ; / B > 6ao ]29 \'be vI.bf,H.f8(),dm) [Q E M.W [W 8h [K E M.O l2V 8c [U 8o l46 8d},f2 ]1R.W OQ A1h OW AO OK A1c= ?E; o OU A1d \\6).E; M=1F;o.94( 62Y J1F!= M){if(1= \\K).37){H.a9 n1R.1c,10)/1C( M.O / I1C( K).E -a=lf.lg(a*H.a9); ?E=a; ?6B=!0 H ?6B=!1, ?1L();1F! Os) G H! Os).W : s).O OK )c h2V )h OW )o OU )d \\6).E F7m I$y(a Eb;o.2O G2O .$y(H.2C).B.c5 h7R "lj ha4 "lk ha2 {2 bt h88 "1u h8h "O TX "ll TW "3y TV {2 9C TU {2 ln TT {2 lo TS {2 lp TR {22px >},dB I$y(a Eb;o.96 G96 .$y(H.7p).B.c5 h7b).E},dR \'2C);a.K= H= 7?H.5M():o.2f;a.3c?a.3c \'id |a.2 sid Z1Y.5A P8g()? ;x *!1): ; H *o.1Y.5A(a)):(a TN).K, ) 6du \'7p); H= 7?(a.K=H.5M(),H.5M()):a.K 7;a.3c?a.3c \'id |a.2 sid Z1Y.5A P8g()? ;x *!1): ; H *o.1Y.5A(a)):(a Te).K, ) 6dj k  65G I$y(a Eb},ch @F.51;a.O bq 1h bp c3 bk c1 bl 47 \\D 1m bn).E 4b \\F Dc=o.7w(a Y0;d ?a d++)U( Z0;e ?c;e++) ,a o1b a.1w[d 3e] 7 .47=b 6ck @F.51,b n5D -c n62 -d h6V De h8i).E; H!=e :e+ )px U.1w[b 3c].47=d; H==e? 3c? 3c \'3y | 2 s3y | 3y=e; #},9G  Ra.bB?a.bB:a.3H; P8G N.M|| >8F N.M)F.85=!0,F.83=a.6t,F.84=a.4O, Q ~2ly (F.6f( Q,.5); >ez N.M :F.70=!0,F.8a=a.4O)},9J k Ra?a: Nc A1==F.85 b.6t-F.83;a=b.4O-F.84;D d n1U.B.1y.R +c,e n1U.B.2e.R +a; Q.B.1y=d +px >; Q.B.2e=e +px > T3+=c T4+=a}1==F.70 7=b.4O-F.8a,b= 7()),c= K() Y21,1C( &.R  B=d :d=1C( &.R +a), &=d +px (c.B.1c= &,F.8a+=a)},9L ]85=!1; Q ~278 >;F.6f( Q,1);F.70=!1},9M k27==(a?a: Nc).7Q G #},3X:[],g0 kif(a Ga.Q K0;b `;b++)o.3X.6p(a[b]); ;o.a0( Fa0 Jo.3X.Q){ I2D 6q;a.2U \'4c v2l,!0 2u(w(){a.3F(); X3w)},j.8x);a $){2i(b); Io.1z; F2P 9y 5N: za); Ka Q| > c){D d= ,g=a %2];a Q| r1k D k )0 jc? :a; , jc P6o(g,d),1g.2y() d,g, >45 _4d() G!j.6D V1g.5I(d,g w0()):( p, F-  k),1O(k))};a.7x 92i(b);j B >5i r; Ko.3X.a7( Y2D 7q;d.3 i79 (c);d.3 i2J ( >ge U Wd) H p},eQ j.4d() 7.2v(),a.2d());o ~2lO >},eA o ~2j >; !a %||1F==a %? Xee):a %.Q 7.2v(),a.2d(),1g.g0(a %))},eb ko ~2j >},e4  R H;a.3o G d :b=a " \'Z/cz m A H===b 2D 6q;c.2U \'4c v2l,!0);c $){ p; Io.1z,b=a Q| > b  ,d=a %2];a Q| r1k D k )0 N? :a; , N P6o(d,c),1g.2y() c,d, >45 _4d() G!j.6D V1g.5I(c,d)):( p, F-  k),1O(k))};c.7x 9j B >5i r;b=(a.3o||a.lW.3o).lX;a=1F 4d=0;d ?b.Q;d++)0===b[d].T.3L \'45 >) 7=b[d].lY());1F!==a :b=2D lZ,b $a){ R2D 7q;b.3 i79 (a.3H.5N);b.3 i2J ( >cw gc Wb)}, ,b.m1(a) FfX 19.3o G19 "?19 " \'m3 |a.3o G d Ga " \'Z/cz g2u(w( a=j.1S R21e yc=0;c `;c++)if(/^5a:45 228;m4/i.2R W)){D d=2D 6q;d.2U \'4c v2l,!0);d $){ p;D d=o.1z,e=d Q| > e)D g=d %1],k=d %2],l=d %3];1k D m )0 je?d %1]:d; , je? W=g, :1o=k, :1d=l,j.6o(k,g) g,k, >45 m:( p, F-  m),1O(m))};d.7x 9j B >5i r; Z2D 7q;e.3 i79 ( :W);e.3 i2J ( >cw gd We); ;1N}},0)},co .o.dy();o.dw Gci .o.5P(o.aN)},dy . F** j.mb ** > $4V 94V $4x 94x $2j 92j $33 933 $4Z 94Z $1n 91n $55 955 $2l 92l $4T 94T $mc 95Y $4w 94w $4u 94u $4P 94P $3m 93m $3A 93A $4a 94a $4s 94s $3Y 93Y $53 953 $59 959); F31 md 4b 7E! Wdw @J R27Gx ,b= x228O gb.id=j.fY();b.T )Z/9k >;b.mg )mh >;b.4n=j.4Z;a.1M(b); F31 mi 4b 7E! WaM:!1,5P k F3C mk ml, mm mn 4f 92j) A1==1g.aM) F3C mo mp >)  Ga();1k{ P1X jj.2j|| H==j.2j.5v()){D b C }2,b )mr j2W.ms?2W.mt.dh(0,2):2W.mv.dh(0,2) A !b|| H==b.5v())b C }2;j.a6(b)} K49( Yj.33 +/2j/ x2j +.mw >;c.2U \'8z (d,!0); Z2u(w(){c.3F( @S( X3w)},j.4A);c.3E 9if(4==c.3V)if(44==c.3T){2i(e /^ 2 2dg/;b.2R(c.1z)?(b=c.1z.R(b, H),j.I=j.9t S Fdg 4b 7E 92j wM=!0  Ga()):x2 }2!=j.2j?( F3C 4f : z f dd c(en) _2j C }2 ? a): )):j.S( c c52! 5 \'+d +) 5 > 38 2z >- 5 >+c.1z) H2i(e),x2 }2!=j.2j?( F3C 4f : z f dd c(en) _2j C }2 ? a): )):j.S( c c52! 5 \'+d +) 5 > 38 2z >- 5 >+c.1z)};c W FaN . FaN mD g IJ R25z yb=0 A0 ` c=0,d=a.Q;c ?d;c++)if( Ex227V >) G >j j Ex227V m{ FaL 31 1S: 2o 23 < :23 ; mF U[c].2 s7V g Z Ex228W >)? Ex228W | >4R: (e=e 8x5Cs+| Ut+/g, H),f=e Q: g2!=f.Q :f=[],e )4R: (f=e Q: m;e=f[0];f=f[1]; >4R oe G >bc oe :e )4R (f= H);D h= x22C U[c].2q.mH(h,a[c] @4J=h;j.ai 23 @eI B.1c.R(/px/, H) @eD B.O.R(/px/, H) @7K( @eL(e @eN(f @fB( @3b=a[c];j.fQ( @dE();1==j.4u G -( 0mI (w(){j.1W=o.1W;1g.2y()} * 0cXx eQ * 0cWx eA * 0cVx eb * F7i x26 7z 52 6u cC! m; -j.bd()? 0cAx e4,!1): - 0cA (1g.fX,!1);b++; FaL 31 1S: 2o 23 < :23 ; mR r NG?(J.2 i2L =G),J.2 imS =J),J.2 i4r =L),J.2 ial =M), N imTx C6X(); ! T7();F.5X()}), N imUx C5X()})): -(J S2mV =G *J S2mW =J *J S2mX =L *J S2mY =M *19 S2mZx C6X(); ! T7();F.5X()} *19 S2n0x C5X G!1));0 ?b?( F31 aL 7E! y ,a o=1b j.75 : Fj.75 n1! _75())): Fn2 31 n3 r1k 1F!==$y \'n4 >)?P.6m(): Fno 5z 2o WaF:!1,8b J!0!==o.aF){j.5J=j.3n; I x226d U.W )7k://3i.4z.kr/31/8b/ x3n +/ xds;J R27Gx .1M(a F9m ko.aF=!0; H!=a?(a=j.9t(a),j.5J=n8(a.3n -j.7r=a.5L,j.5J Bj.3n? Fek el 31 v. x5J + n9 97r): Fce cd cb ca c8 3n(31 v. x3n +) m: Fce cd cb ca c8 3n(31 v. x3n +) g Fnf! W36 I KF.51,d n5D -e n62 / P8w V{ P1G N){F.29 \'bh vI.bi,H.cj(a),d9) ^q uO ^p u1h ^n u1m ^k uc3 ^l uc1 l4D u47 l4F u1w[0 30].47;Y} Pbn N){F.29 \'bl vI.bm,H.cl(a),db);D f=c .47,c=c .B.3y.R(/px/, H) l6V Ef l8i Ec;Y} H P8v V{F.4o(); ; >7M N :d+=f) 4d=c.nh(d),c=o.7w(c),h={},g= Yc; Lh=d.aE(g),h.K=x *h.47 )#7y > H P8r VU( fd=e, ,r N :d+=1),g= Yc  Lh= 0g].aE(d),h.K=x *h.47 )#7y > Lx22bE V fd n5D -c.c0(d) Lx22bH VU( fg= Yc  L 0g].aD(e) Lx228m Vif( fo.7w(c), ,r N k=1,g=0,l=h=1,f=1,k=1C( -g=f= Ye; Lf+= 3Z /g=e+1 A ! 0d 3g] Dnm h= 3Z / ;l= 41 /if(f!=l DbN  0d].aD(g); =k+h}1k{ P7M N){l=h=0;g=k=1; ;h=d+f;l=e A0 ?e)U(g= Ye; L1 ? 41,10) G--l A ! ]|| !  3l] Dnq  < /g=1C(  M3Z /if(k!=g DbN  <  M41 / ].aD(l);c .41=f+k;U(g= Yc  L0== 0g].1Q.Q Gc.c0(g)} H PbP V{F.4o() 4 < - ,m=l=0,g= Yf; LU(D m=d+g,p=0;p ?k;p++){l=e+p A0 ?g||0 ?p)h= 0m].aE(l),h.K= t2626 (h.47 )#7y >; 0m M3Z=1; 0m M41=1} H1O \'nr ns!!! Z5t( 65t ]51={};F.6P={};F.6H={};F.ap=0;F.aq=0;F.5D=0;F.62=0},7w:w(a K0,c=a.1w[0].1Q.Q,d=0;d ?c;d++)b+=a.1w[0 3d].3Z;Y b},5I I #; P7J j 32s) X9a);1k{ Kb Q.x ,c= t3C1e W= ;o.1Y||o.2y(); ;c FbT:w( a= a b=0;b `;b++) P6z j =M  =W,d=c ;o.5I(c,d);a[b] ~26A >}},bW J6v( XbI))U( I a b=0;b `;b++) >6z j =M G1g.8t( =W, >0 W8t I #; P7J j 32s) X9a) Lx221a o1b b G , ob||6v( XbI) a  Qy >).2F( Y49();d.2U \'8z v4T +?2J=nvx26nw )+c,!0); Z2u(w(){d.3F();j B X3w)},j.eX); ;d.3E 9if(4==d.3V G44==d.3T){2i(e); p; Fnx 2P 3B 5N: z [  [ %0],c=d.1z %1]; , N P9v(c wz(c wy(c), !): >0 N?6v( XnA) :j.9v(a wz(a wy(a), !): F-  d.1z)}};d W Faz:w(a K a c=0 W==a G a O5g(b[c]);1 Bb.Q : a OB.1x )1V Way:w(a K 7 c=b.Q-1;0 ?=c;c--)b[c].W==a +q.5g(b[c])},1I ]1I( FP={nB: H,3X:[],S k F[P] za)},6m .o.S \'nC ZbC();o.bz GbC J!0===j.4u){if(1F! h2T)){D a h2T); -(a S2cX (P.by *a S2cW (P.bx *a S2cV (P.bw *P.S \'7i x26 7z 52 6u cC! m} Ho.S \'7i x26 7z 52 6u nI! Wby:w(a2pxx22 l2C).B. >2n!-------(/px/, H),10);c ?b.Q;c++)b[c].)[0]; P1x22==()) R21ex22), .41,10)-- x5C7C 2z: z ka=a?a:19.2c;,x221a o=1b a Q/x22).2F());o.5t(); #;Y}j.2j + 4b 2n! da %1]x3E/gi, H)1C( 0d].1Q[g].x22: 4a.1w[b 3c].B.c .3Zx221a j1b ).E l2C).B.w(a){D b h7); F -  Q|x22)[(a,b 6 @$y(H.22+b ; ).E, s).122x2626; ( Gb[c].2(b) 519.1Z G.1w[d 3e].) 5ej.1S S2 k$y(H.7 >:1v > 7()).F.29(b,c,H.;1N;1v >); #}, :a).E= :  x G(+ t27x27 >+ (1g.9---------$y(H.2V). .D a=).E; M..22();1O(22,w(){F.){ X :2w(j.S \'x26x26 t22:w(a,b){ .if( b=;1k if( 3l]. jb h3if \'.V \'.1t(x2.1Z(x2 h9 gax22==a) r,1O( X0;g ?x22);o. l3 h4 .F. l5x22),j. ?a.Q$y(j.39 h5 3C 4f a "22,1g.eF.4o(), >);=$y(H.G \' >==:w(a){;$y(H. >))=1C(F. >!=j.22()x22:o. >)}p \' >x Ec.x22,j.),1g.ax22+j. >), >+).E+x >):2enx2.M C){ K$y(j.1 0hj.2B()$y(H.3).E;a.( :J.1J(22)[0].E=a},,F.4S( ;a).E;o.); R M.1.1w.Q;1g.5P(){U(D f=1C(cF.5d().3o.5wF.1I().4m=w(.4L.4tb.B.1c( > >,= >,!1),+ > >1,10),:w(){,10);c.1w[ S9 U/].1Q[;U(D  Un Sk=o.2f.R(/=w(){a[c].o.20(k=1C(a[b].x22x3C);j.;if(x3E=x2).E,).E=)}},()},}1k D a=[a].D c=g++)F.1R19.2()).?(j.F.1UD b=(b),;F.8x5C()||.3a(j.I.),d=D e=d.1z','){a=a?a: +c;a.2v();a r;o.M `nJ },bw Wo.M `65 },bx:  Xx L Q?( :7i 7z 52 6u nK nL nM _,1O( $ee)):( :52 6u nN: + Q.Q), Q.Q 9(a.2v(),a r,P.bv( Q)),o.M `65 _},bv Wif(a 9a.Q){ )b=0;b a.Q;b++)o.3X.6p(a[b]);j.2B();o.aw( *aw pif(o.3X.Q){D a=2D 6q;a.2U ^4c aj.2l vD b ?a.3 8x);a.4m w2i(b) xo.1z,c=a.V ^| _[0];a.V ^| KV ^| _; o ec?0 P.3X.Q?P.aw():( [, ,( t):(P.S(a), [)};a.7x w [;2i(b);1O ^5i _};D c=o.3X.a7(),d=2D 7q;d.3G ^bj[] ac);d.3G ^b9 a t;d.3G ^2J a b6 K3a(d)}1k :no nU 2P _, [},fm: @ z5W),b= 61t ^C _ %1==a.37 90==b.Q) 5nV,1),a.37=!1;1k )c=0,d=b.Q;c d;c++) uM=1==a.37? u 7O(4h)*$/, b4 _: u b4$/, 7O _},fi ( 61t ^C _,b={},c=[],d=0,e d e;d++) 7W ea[d].M 9(b=a[d].1t ^1e _,c.6p(o.6E( #+ 3+b[0].1d)));0==c.Q?( :no 3D 2P _, 5aZ,1)):6v( $o1)?o.ar(c): :3B o3 _},ar Wif(0 a.Q){D a7(),c ,d= d.2U ^4c ac vd }x N yx x2 e ?d.3 4A);d d.3V)if(44==d  [;2i(e); :2P 3B 5N: +d.1z 0b=d. 0]; o eb?0 a.Q?P.ar(a):( ,( t, z5W).37=!1): 0 eb?(b=d. 1],1O(b)): :3B 2P   nx22+d.1z Ae), :3B 2P   nx22+d /};j.2B();d.3a ^2J=o9 g3 `+b)}1k z5W).37=!1},fg ( 61t ^C _,b={},c=[],d=b 1,e=c 1,f 1,h 1,g=0,k g k;g++) 7W ea[g].M 9(b=a[g].1t ^1e _,c=b[0].1o.V ^* _,b=c[0],d=c[1],c=c[2],f=b  h=f.V ^. _[0],e+ ` b ,O +d ,1c +c ,1o +f ,1d +h ,/ ;);  ee? 5aZ,1):(j.20(e),F.1I())},g2 Wif( X q1b a){D V ^* _,c=b[0],d=b[1];a=b[2];D e=b[3],f=b[4],b=d  h J 1 _;h.M `oc fh.5x wo.M=o. 7O$/, fN _};h.6x wo.M=o. fN$/, 7O _};h.2L wo.M `7W eo.M? oe : 7W }; 61M(h 0g J &e _;g.W=c;g.1o=d h* +e h* {;g.1d=b;h.1M(g);c J 1 _;c.M `of fc.1d=b h ^+a+ _ fc.K=a h br/ ;+e h x  { h br/ ;+b;h.1M(c);h.7A= @d  b=a.V ^. _[0];j.20 ^ d ,O +e ,1c +f ,1o +a ,1d +b ,/ ;);F.1I()}}},fM p 6K 1},bz p},6E Wa=  . . //g,  _;a=  /+/g, 3);Y a= ^ /*/g, 3)},2t:{},4W:w(a,b){o.2t= Xx La?$y ^7h _:a; Xx Lb 9(b 1);b=o.6E(b) %0== |3p.Q){D c J 1 _;c.M `fp f |1M(c 0d=J d.K 1 Zd);d=J d.M `f3 fd.K `  *5 6O 4  * \\ < 6n !;d >eU Zd);d=J d.M `eP fd.K 24l id beH Mx27an \'x3Eaj /4l ;;d >eu Zd 0e=J e.M `oy fe.K `  *oz.28 < oA d1d + $oB ,/ ; Ze);e /2a= 3;P.et()};d.2h= P.6F ^ _;P.2t= -; , ^ K2v?a ]a Pa.2d 9a r};P 2c)} c ,f= f.2U ^4c ac vf }x N yx x2 h ?f.3  )D g=b;f f f.3T)if(2i(h), :82 4l 73 0 { /, o ef. 0]){D a=f. 1],b=f. 2].V ^, _,c=f. 3].V ^, _ %0==a) :oH _,P C &f _[1].K `  *ah.1B < 69 4  *6 6g !,P C &f _[1] >dO, |2h=  :N/A K2v?a ]a Pa.2d 9a r};1k )d `0 ae `5c.1B ar 1,q 1,n=0;n a;n++)d=c[n], @g+ 3+b[n],a=P.6E(a),c J 1 _;c.M `fp fq 1; )f=0;f a Q-1;f++)q+ `  *ah.1B d/ ;; |1M(c);f=J f.K=q Zf 0h=J h.M `f3 f o ed?(e `9H.1B ar= $eU):(e `ah.1B ar= $dO);h.K `  * +e ,1h= 69 4  *6 6g !;h.1d=r Zh);f=J f.M `eP ff.K 24l id +a ,z ban #+b[n] h /4l ;;f >eu Zf);f.2h=w(b){b=b?b: +c;P.6F .P.2t= -; , .b.2v?b ]b Pb.2d 9b r}; o ed 9(h.2h=w(b){b=b?b: +c;b.2v?b ]b Pb.2d 9b r %3 $)U(b=3;b $;b++) Y e -.3p[b].B.1x? 8b B  ah.K `  *5 6O 4  * \\ < 6n !): 8b B Yx22,h.K `  *9H.1B < 69 4  *6 6g ! sb=o.1t ^1e _,/dF dD .1B$/.2R(b[0].W)||(P 2 -,a),h.K `  *5 6O 4  * \\ < 6n !)})}(g);P.6F( t; 3==g 9 , ^ _}1k :9n dA dv 4b   n {. 1] s2i(h), :9n dA dv 4b   n { /};f.3a ^2J=oT oU `+b *6F W )b=$y ^7h _.1t ^4l _,c=0;c b.Q;c++) uM `eH q uid||  qa 9 3!=a? uid==a? dq : an : dq },et p$y ^7h _.K 1;o 2)},8j (o C 1 _,b=0,c b c 9 X q1b a[0];b++)o.2t.5g(a[0] 0d=o C &f _[1];d.K `  *5 6O 4  * \\ < 6n !;d.2h= a.2v?a ]a Pa.2d 9a r %3 $)U(a=3;a $;a++) Y e -.3p[a].B.1x? 8a B  ad.K `  *5 6O 4  * \\ < 6n !): 8a B Yx22,d.K `  *9H.1B < 69 4  *6 6g ! sa=o.1t ^1e _,/dF dD .1B$/.2R(a[0].W)||(P 2 -, t,d.K `  *5 69 4  *6 6g !)};o 2o.2t, #)},2a:  a4H W #=a;o.fM();o.9z();a ;D b= b.2U ^4c aa vb }x N yx x2 c ?b.3  )b b b 2i(c); :82 2P 73 0 ~ / xb. 0];if ^1 ea){D a=b. 1],e=b. 2];0 a 9P.cN(e.V ^, _)}1k 0 O(a=b. 1],1O 3: :82 2P 73   n ~.1z Ac), :82 2P 73   n ~ /};b.3a ^2J=oZ g3 `+ #)},9l Wo.6F .o.4H .o.9z()},9z ([],b 1,c 1,d=1;d  # Q;d++)c= #.V( 3)[d],b+= 3+c,d== # Q-1?a[d] 21f ;+c h /1f ;:a[d] 21f 2h= j22P.9l( \' ~ hx27) j22 B b2Z:3j #+c h /1f ;; zam).K 21f 2h= j22P.9l( \'x27) j22 B b2Z:3j \'x3Eaj /1f ;+a.68 ^ gt; _;$ FK 1;a J &e KW= *p1.28 fa >bZ;a.1o `81x RbZ;a /7e()};$ F1M .a J &e KW= *p4.28 fa >9g;a.1o `81x R9g;a.B.9C `6L fa /7o()};$ F1M .  q # 9(a J &e _,a.W= *p7.28 aa >bF,a.1o `81x RbF,a.B.9C `6L aa /bD( t},$ F1M 3},bs pj.2B() xJ.bk;$ D2G?$ D2G ^4m aP.9c):$ D1Z ^9q aP.9c,!1);a.cD()},9c p [ x$ Dcx.J.1T.K; :P 2P 9y 5N: +a);P.7e();D V ^| _[0]; o eb? ,( t:(a `0 eb?a.V ^| _[1]:a,1O 3},7e pif( " 9 Y q ") z2E).K 1,  Yx22, %x2265 f a;a 2C z bb2 #+ ^ 2o 23 bbk Mx27g9 d8T bga d3H b7c d8P bgc/2o-5a d8S +j.2l h #);a=a+ 4N Ex272J dE bb6 #+( 4N Ex27b9 dE +P.2a h #);a+= 2P Mx27fL did +H.fF ,23 bbj[] db1 bb1 dpf b45/* d8N bP.bs() #;a+ 2/2o ;;a+ 280 23 b7c did +H.3k ,B bO:2k%;1c:fC;1x:1V \' m3C/80 ;;a+ 2/C m2 &=a;a 2C z baW d2h= j22P.7e() j22 1d + $7g h \' m5CaU /C m2 &+=a;   f %x22aT }},7o pif( " 9 Y q ")  Yx22, %x2265 f a;a 2C z bb2 #+( Z Ex27pj did +H.5T ,E b Mx271p d1j b15 #);a=a+ 4N Ex272J dE baR #+( 24 Mx272Q dE + $9g ,2h bP.9b() #);a+ 2/C m2 &=a;a 2C z baW d2h= j22P.7o() j22 1d + $7g h \' m5CaU /C m2 &+=a;   f %x22aT f 7al= 13==(a?a: +c).7Q 9P.9b()}; 72r( *bD WD b `aj +  /+/g,  x3E _;a 2F() %6v( $pm h:  ~ h nx Rpn)){D b ,c= c.2U ^4c ab vc }x N yx x2 d ?c.3  )c c c 2i(d); :3B 4l 0x2 T xc. 0],b=c. 1]; o O(P.2t= |2q,a=P.2a.V( 3),a. a=a.68( 3),P.2a=a,P.8j()): 0 O1O(b): :3B 7t   nx22+c. 1] Ad), :3B 7t   nx2 T};c.3a ^2J=pp fT `+a *fr WD b=/^[y - s]/ %b.2R 3Y!1;b=/[ j27 j22 *# $@! ^%  m5C?, . { }~`! = + j5C | /:;]/;Y b.2R(a)?!1:!0},9b: @ 7E;if ^ ea.5v()) 5ps,1), 72r( sif(0==o.fr 3 5pt),$y(P.H).2r(),$y(P.H).1L(); a=a.5v(),a= #+ 3+a,a=o.6E(a),b ,c= c.2U ^4c ab vc }x N yx x2 d ?c.3  )c c c 2i(d); :8V 4l 0x2 T xc. 0],b=c. 1]; o O(P.8j(),P.7o()): 0 O1O(b): :8V 7t   nx22+c. 1] Ad), :8V 7t   nx2 T};c.3a ^2J=aR fT `+a *cN W )b=0,c b c;b++)P.g2(a[b] *14=w(a,b,c,d){if( X q1b a)if( Xx Lb)1  sif( Xx Lc)1 b sif( Xx Ld)1 b,c s1 b,c,d)},9B= j.9B(a)},$y= Y 1g.cf(a)},49= @1F;4j{a=2D 6q}4i(b){4j{a=2D dM ^pw.c4 _}4i(c){4j{a=2D dM ^pz.c4 _}4i(d){}}}1F==a 91O ^pA 5i! pB pC! _;Y a};pD.pE.5v wY o.R(/^ s+| s+$/g,  _};D dJ= D b,c,d,e,f=0,h=0,g 1,g=[] %!a)Y a;do 8K(f++),c=a.8K(f++),d=a.8K(f++),e=b  16|c  8|d,b=e m3E18 63,c=e m3E12 63,d=e m3E6 63,e =63,g[h++]=x2 Sx2 b)+x2 Sx2 c)+x2 Sx2 d)+x2 Sx2 e);dK(f a.Q);g=g.68 ^ _;a=a.Q%3;Y(a?g.bU(0,a-3):g)+ e `.bU(a||3)};J.1Z?J.1Z ^eK aw(){J.pL ^eK abK.es,!1);j.aO()},!1):J.2G 9J.2G ^3E aw(){ aS e=J.3V 9(J.pO ^3E abK.es),j.aO())}); +G? +G ^4m a1g.8b):19.1Z 919.1Z ^9q a1g.8b,!1);","x7C","x73 ( " k74"," C C C 7 U62x6E V74x65 C gx68 k73 C -7Cx66 i l3x74 IFx6E -5F G3 " c73x73 -73 gx79x6C \'4 k76 H6 c72 H6 c6C i65 4 4C c79 V75 .74 ! 4 50 V70 i70x48 gx6Dx6C GC c l7x4Fx62x6A G4 V63 i6D 7C IEx6E U 48x54x4Dx4C H4x72 G3 " c73x73x4E c6Dx65 -77 I4 gx68x7Cx57x49x43x7Cx = l7 gx68 H2 U70 " c63 \'C V67 H4x79x70 \'6 V72 H3 ( "x69 .73x 63 G9x6E (x75 .72 U74 i 6E H4 U78x74 C U78 U63x57 U62x4 46 i l3 -7Cx67 U74x45 ! k74 V 49x64 -77 IEx64 V77 H5x l4 U66 IE U64 H4x79x70 U6Fx66 G8x65 I7x68 .74x69 gx6C \'9x6Dx67 H3 ( c6E 4 45x78 U63x46 i l3x74 IFx6E G1x6C I7x6E GF (x74 IFx6E H3 k7A \'5 "x73 \'3 V6C V 5F c 72 c79 G2 V 64 U72 G9x63 V6Ex5F ! k72 G1x6C g 6 5F gx78 gx66 V 6D 6 5F g !x5Fx62 V64x79 H2 I7x68 g 6 5F g !x5Fx68 U61x64 G7 U74x45x =6D 73x42x79x54 c67x4E c6D \'3 V6C V72 G3 c73x65 H2 V77x73 G4 k73 ( " c79x7Cx =66 .72 U73x70 V6Ex73 U54 U78 .64 V63 i6D 45x =6D 7Cx67 I6 H0 c 73 U49x6E .66 V6E .6Fx6Ex43x6C I3x6B GE i6Cx6C H4 c62x6C \'1x62x73x6D I4 !x6C \'3x6C V73 U50 V70 i70 G3x72 U61x74 U45x =6D 7Cx67 U74x54 U78 gx46 V 6Dx49x64 H3 U =63 .61 (x70 U l4x43x68 ICx64 G2x72 U61x6B G1x =72 .6D c 67 IE G3 U6C "x73 G9x6Dx67x4Fx62x6Ax7Cx45 ! k74 V72 G2 V64x79 H0 V70 i70x4Fx62x6A GE V l5 H3 U71 G1x75 gx6F H3 U =63 gx52 c l7 \'1 ! !x45x76 4C k73x74 U6E U72 G9x6Ex73 U72 gx48x54x4Dx4C -68 I4 U4C V61x64 IEx67 GE c6D \'2x75 gx74 V6E - l2x73x70 -70x l7 H6 I5x77x50 V70 i70 G3 i  5Fx66 k =5F " k -7Cx7Cx7- 38 2z ----------F();P.S( $3w)},j.x3C1e W +.3V)if( [,44==x271Hx27 1o b 2n! n--------x7Cx77 U62x a=a?a:19.2c;1z.V ^|x22)[.1J ^1fx22);x22x3CX T b2266/x-3i-2o-6rEx6Fx74 U "=.V( 3). U6Ex74x.3E wif(4==c.1B < 4x22 z2E).B.1xx27 ;x3C -.3p.Q 6M=2; z2E).Kx65 G pU(D a=4A);j.2B();j.1n h/ bx22++x22 d HCx gx7Cx.2h wP. 74 5a :  `x22 `x3C / x27/x3Ej.4E( $ z2T). z5T).( -.3p[ P.S ^ m22x27 1h=6C U.1d= $=2u(w(){w(){D a=)}1k 2i(].B.1x=.2t.1t(y(H.3k).x27 23=y(H.5O).x7Cx6x7Cx7 k6=J.1J(x22);a.22==1b x27 z=226U-T ea?.5E=!0;a.4L.4t22+ $27l+/=2+c /x65xx6Fx:  &a &V;c.1M(j.22()6b.1B.2v():(  )=  ,=x27x61xx27 x22== ;x74+ x75xx5Cxx69x6Ex6x3Exx5Cn &:w(){x22!=.2d());1k P.2a)b[c].,!0);=w(){;D a=x22,$y(H.x22+fP.2t..6K(x22+b49();2 0=j.2lM.R(/=a.Q;x222N b=a.w(a){g[a](2.7s(1k{D .3T){2F(),a.R(/x22x3Cx5C72xx26x64x6Co.2aj.I.;if(x221x27x70U(D )}},19.2P.4Ho.2q(a);.1z));D x22C.4W((a))','73  $x66 4 2 $ )x61 x68 31 )x78x7C 6 x6E  70 0 6 x6E x44 x66 " ,x6C  74 70 73x 74x48  . (  5F ) 70 , ) $x63   /6E 2x5F  70x7C 6 \'C !x6 \'B 63  " %x54 ! . 75  6C " &x67 31x30x30 61 x 6 \'8 $ ) % 63 66 ( 61  46x61 !x6C 66 72x6D 72 . 76 x41   %x69 +x75  C ) " % x6E  4 64 Cx66 63 ,x73 6D 64 Cx77 !x63x5F  % $ ) " % x6E  $x65 x6D 73 4x54 ! . 75  73  70 8 % 70 "x -61  ! 7 41   %x69 +x75  C 4B 9x55x70 73 4 7x 74x52 " &x67 Cx4D 3 * "x67 C * 75 %x63 Cx7 \'8 77x4C 61 # ! &x67 74 8  + 78 8x72 6 ! 7x44 !x76 6E 7 77 !x63 3 64 1x43 x6C 44 !x76 70 70 61 x 6 \'8x45 > x6E   5F ) 70 , ) $x63   /6E 2 $ + 74  6D 74x6F 2 " %x73 70 % 63x5F  1x70 C + "x6 \'Bx67 % 75x6E #x7C 6Dx 65 # 77 &x7 E 2 < x / -68  62 ( 6 \'B 70 0 6 ! 7 : + 4 74 x54 8  + 78x41 (x6C 66 !   5Fx62  & $x63 x6E  74 3  73 9 # 77 !x63 3 64 1x44 "x 44 !x76 6F ) x6E 6 48 x / -68  49 # 6E "x76 !x -61  72x7 4C 61 # ! &x67 61 ) ) ( 1 : + 4 74 x4 50 0 6 ! 7 63 , %x73 72 7C : + 4 74 C 62 "x73 $x64 ! 0 74 61 *  6 +x6A 9  4 74 5 "x62  2 , &x63 6 \'8 x6 \'B x64 53 2x76 2x7 46 ! x41 x 6 \'8 3 78 73 x6E # 54 8  7C % . 76 8 % 70 2 x79 7 \'3 0 C 5 70 62x6 4 6 +x6A 63 (x6C * ) "x63 ! &x67 66 , ( (x7 \'3 % x6E 62 74  6D 77x77x77 70  /6E   /66 % " .x65 7 \'3 0 C < x / -68  66 74 * 76 2 * ! 7Cx6 \'C ! ) + 61 %x64x44 "x 7Cx6 \'8 !x6C # 4 64 3x7 53x 74 ! 7Cx63 x6E  6 50 0 6 ! 7x49 .x67 4D 7x49x45x7 42x6 4x49 #x7 50 70 ,x70 61 x72 x5F  ! . 75  5F + ( " &x6B 70 "x64 # ! &x -7C 4Dx 65x55x70 66 74 * !x7A 3 64x65 x74 Cx4C " &x67 , "x67 C *x 74 x64x7C 72 "x64x79 *x 74 x6 \'8 " &x67 C " + 72  61 ) ) x6E #  72x67 4 63 F % $x73x 74 72 63 ( ( ) "x64 # ! &x67 6 57 ! # x68 49 #x7 4 8 6x66 54x6F 2 " %x43  69 & 75 * 2x5F  6Fx6C *  5F * (x66 72x6D 7 \'3 0 Cx4C x66  6 53 %x63 49 # 6 \'C ! x6E  < x / -68  7 \'3 0 Cx57 ! # x68 73x 74 ,x73 6 41x6C  49 # 72 "x64 1 7x 74 Cx6 41x6C !x -6E 49 # 64x6E # $ , ) ( 61 # $x6C ! *  73 ) x63 ! " (x6 \'8 " %x73 63 6C 7 ) "x6E 7C % 77 7 ) "x6E 32 )x78 43   /6E 2 3 64x79 32x30x30 6 7Cx6 54 !  (x65 49 # 62x -43 F 0 35 )x78 63 % x61  x52 1x75 3  6 5x68 x / -68  * 4C 61 # 50 6 7x54 69 *x49x45 7Ax41 53 4 5Ax30 5F 7Cx6 \'1 x6 \'8 74 %x79 7 \'1 66 4 6F & ( 61 # 68 % x66 72 . 76 7x 74 x64 5 "x62  = ( ( ; " %x6B 6 \'C ! x6E x57 ! # x68 62  & $ " ) ) ( 1x7C 6Dx 65 ,x70 65 . 74 !x63 73 66 ! x73 61 ( ( 77 $x64x6E # , ) ( 61 # 64 , . . 1 8 " % " 5 "x67 75 * $ +x6 4 66 "x64 $ ) 70 ,x70 6C " + ( x77 72x6B 6C " &x67 , "x67 $ ( 61 #x5F  ! . 75   5F *x 74 $ + 78 75 ) ( 61 # $x6 73  62  3x -43 F 0 7 \'8 77 5 61 * x4D 3 * "x67 Cx 62  = ( ( 3x -43 F %x49 #  5F *x 74 $ + 78 $ 76 2x7 46 ! x4C ! * x7C 4Dx 65 6 > 43  69 & 6 41x75  48 x / -68 x4 \'8x6B 64 "x 54 % " &x7 \'6 77x68x61  * 68 ! # # x6E 6 \'C ! x6E x59 61 ( ( 77 $x64x6E # 0 3 !x7A C # 3 !x -6E 64 &x79 61 # # 2x69 x41 x 6 \'8x4C ! *  64x65 x74 $ ) % 63 73x 74 ! 7C "x75  5F *x 72 x7 46 4 2x4C ! * x7 E 2x57 ! # x68x7 54x6F 2 "x72 63 * * $ , %x6C 7Cx 62  6 +x6A 46 !  9x63 64 $x68 !x -68x6C !x -68  68  x70 65 . 74 !x63 5F # ! 0 61 ) )x56 2 * ! 6E  5Fx6B 9x77 72 #x31 5F + "x73 !x63 61 x 6 \'8 $x6C ! *  $x76 ! 7 64 "x 7C 4Dx 65 6x75  74 % $x6D ! & ,x73 72 3 ! ? 2 , ( ( 7x63 % x6E 65 . 74 !x63 7C *x 72  8 73 72 . 76 x4 \'8 !x6C # 73x 74x4C x6E 45 % % 72 6Dx 65 # 77 &x58  62  7 ) "x63 ! &x67 49 #  62  8 "x64 # ! &x67 49 # 66 "x64 Cx 62  3 72 # 2 49 # 6Fx66x66 * 4 < x / -68   62 x41x6C !x -6E 49 #  62 x57 ! # x68 49 #x7 54x6F 2 " %x43   /6E 2 6Fx75 x7 9  5 "x62  6 +x6A 62  & $x69 &x73 2  74 %x /6Dx7 44 "x 7C 6Dx 65 76 6D ! # # x7C  8x 72 x61 69 &x73 2  4 64 Cx62  & $ ) 70 , ) $x6 \'C 73 $x69 # 5F * (x66 69 #x78x5F  % $ . ,x70 63 " &x63 ( 3 , +x62  9 A A )x78 73x 74 : + 4 74 5 "x62 x43 F %x53 x79   5Fx62  & $ + "x73 !x63 69 &x73 2 x41 x 6 \'8x4 7Cx6E 7 3  $x76 2 * ! 7C 2 % 72 75 % (x7 54x61 ! (x44 , . . 1 5 "x67 72 3 ,x6C  77 !x63 3 64 1 5 70 +x75   44 !x76 6C 61 # : + 4 74 x4C " &x67 73 1 &x63x7C 6 " (x75 3 74 4C 77 2 = "x73 Cx77 !x63 ; "x6B x46 4 2 2 %x6D 45 # !  72x52 3 ! ? < "x6E # x7C 8 x63 = 6D . "x6E # 77 !x63x49 #x78x4 \'8 x6 \'Bx41 ( ( 2 %x6D 73 4 8 73 !  ! 4C 61 # ! &x -4 7C ! .x67 $x63 x6E  77x68 !  Cx63  "x72 62 74x68 69 #x78x5F  # $ . , ) 9  5F x6F 2 " % $ + "x73 !x63  5Fx6 63 x6E  2 $ + 64 1 $x64 "x 7C " ) )x6C !x6 \'1  ! 7C *x 74x54 8  6A  /6E 62  &x5F  % $x /63 5Fx6 \'C 73  43   /6E 2 74 % $x66 4 2 $ 70 x6E 74 % $x66 4 2 $x6 \'C 73 x64 7 \'3 %x /70  70x68x70 73 4 6 ) "x63 ! x79  /63 5Fx66 4 6Dx7 \'7 $x69 &x63 $ ,x6E !  6C 61 # ! &x67 6 +x6Ax7 4 Bx56 " ( , x49 #x78 6 42  &x44 !x76 35x39x35x39x35x39x7 9  ! "x6C !x7A C !x63 5Fx66 4 2 $ . "x -6E !x66x79 61 # #x55 ) ( 61 #x4 73 70 ,x7 \'8 58 ;x4Cx48   )x52 1x75 3  75 0  &x63 64 x64 76 ! 7x43 74 8  ; &x75 6 \'C ! x6E x58 55 ) ( 61 # 63 66 ! %x6D 73 1 &x63 : + 4 74 x43 74 x6E  *x7C 6Dx 65 75 x7C 4Dx 65x44 77 &  5Fx66 !  $x61 x 6 \'8 $ ,x6E !  $x73x 74  5Fx66 !  $x61 x 6 \'8 $ ,x6E !  $ + "x73 !x63 64 ! * "x62 x64 6Dx7 \'7 $ "x6C !x -6E 69 *x49x45 Ax31 6 \'8 x6 \'Bx46 4 2 8x61 x68 73 4 = , % %x46 4 2x53 x79  9 2x69 x41 x 6 \'8 3 78 74 # 6 +x6A 6 \'C 73 $x6 \'C !x6 \'B $ +x6 4 66 "x63 C * 4x52 1x75 3  < "x64 33 )x78 62 4x7C 4 1x70 Cx62  &x5F  % $x /63 5F 70 x6E 74 % 6 +x6A 6Dx 65 # 77 &x59 72 . 76 x41 ( ( @ " &x67 3  5F * 75 %x63 $ + 78 61 # #x52 " &x67 Cx43 74 x6E  63 ( ( 3x -43 F 0 31x30 )x78 72 3 ! ? 3x6 4 75x6E # 2x6 5 6 \'8 x6 \'B + 78 65 # !  72 + 78 ; 76 ! &x67 63 6D 66 74 * !x7A Cx6C ! *  72 3x70 73 C 43 % x61  =x42 73 4 2 63 ,x73x7C 4 \'8 " &x67  5F ) 70 ,x70 75 ) $x66 !  9x76 ! 7 : + 4 74 x43 74 8  ; & , 9 62 78 3 72 # 2x43 F 0 68 ! # # & $x66 % "x6D Cx63 F % 5 " + (x65 49 # 76 ! 7 2x69 x41 # #x43 x6C 42 78  5F ) 70 , )x5F  !   $ %x / -68  62  & $x6 \'C 73 Cx77 !x63x5F  % $x63  69 & 44 % "x67 6Dx 65 6 x6E x59 68   )x73 41 3 =x44x45 2x47 x77x78 1 ?x30 Ax32x33x34x35x36x37x38x39 70 0 6 ! 7 : + 4 74 x54 8  + 78x53 x79  9x33x45x34 76 ! 7x46 4 2x41 # #x43 x6C 42 78 9 62 78 8x72 6 ! 7x44 ! >x49 #x7C 44 "x 7Cx6E 7 3  $x76 2 * ! 5Fx76 ! * !  $x6 B 6 \'8 " %x41  46 4 6 5 < x / -68  49 # 6 50 0 6 ! 7x44 ! >x49 #x7 4D "x78 = ( ( 4 7C 65 % % 72 46 2 2 2 2x46 44 % 70x7C 64 + (x6 \'C !x6 \'B 62 64 1 $ 76 2x66 ( 77 $x73 4 6Ex53 2 > 74 + 64x79 53 ,x6 \'3 3 * 6 4 B 49 # 68 "x64 6Dx7 \'7x5F x66  6 53 " %x6 \'8 2 %x6D 6Fx66x66 73 4x53 1 6 4 B 5 " %x67 4 49 # 64 77x6E 74  -67  7 75 %x63 ; 64 C $ ,x6E !  66 74x53 ! ?x65 49 # 6Bx9x6Dx61x67 xx46 72x6Dxx6E 74x65xx7Cx77 x6265 x63xCx67 4xx49x64 x65x72 C !x6Ex66Fx75 *x 6Cx6 6Exx6C 74 "x x7 9xx6Fxx74x65x69x61x64x5Fx72x6E3x6x6Cx70x73x62x7567xx6D69xx72x79x46x42x4Ex54x4Fx53x50x7Cx57x4Dx48x43x76x7Ax52x31','6 \'9 - 64   62 78 5 72 &  - 6C 72x 64 2 /x67 70 x67 x41 & &x54 x78  . 72 ,x 66 74 .  , ! ) 2 . 72 ,x 65 & +  72 77 2 #   (6 63 Ex 72 "x6  (75 #x69  " % 63  6D 7 \'3  \'6 E x58 6D % $ " ! $x68  62 x *6Bx63 6C 72 69x66 x6D  62  #x5F 67   70 70x7 \'0x58 70 70x7 \'0x59 70 70x7 \'0 8 76 ! #x67 77 2 #  5F % 63  "x62 78 "x64 77x6E 72  % !x7A x4 69 # $ 6x *72 5x6E  62 78 5 $ - 6C 72 0x64 42  % !x *32x7C 4 +  72x62 78x59 67  x4E x77 x73 x56  % ! 49 #x66x6F 63 73x6F 7Cx67  x4 69 # $ 0 , $x 67   4 61x73 x 62 ) x *6B 69 % .x46  62 78 . 74 - 6C 72x 63 C ) 1 x64 & ! # $x 72 6 x65 %x68 - / . 6C &  x4C !x73  6 69 # $ 4 !x6D x72 66 72 , " # x6D  6D  x67  "x63 Cx6C 72 D 76 x47 x62 x67  4  $x73 75 7x31 7x31 77 2 #   (66 +  (61   x *68 " / #x69  " 76 x72 75 7x31x34 x7 73  (63 6C 75 x *30x30 64  41   x *68x4 7C /x64x37  7x7 73 5F 77 70 70  x79 7 \'0x6 5F  !x6D Fx75  6E 72 ,  ) %x *72 5x6E 47x45x54 6Fx76  x66 ) 77 64 ! % 3 )  2x57 2 4 7Cx73   1 70x7 \'0 1 73 +  ! 7Cx67   1 70x7 \'0 -  6E x 64 6  /x6C  77 2 #   (70 70x7 \'0x5F  +  5F 66  77 2 #   (70 70x7 \'0x5F  +  7Cx6 65x68 9 $x68  76 + x77 5x6 64 67 x79  *68  - 64 x41  66 72 3 6C 72 53 75 x63 x4 65 5x72 1x6Bx7C  *68  #x67  6 6Bx7C Ex63  2x70  74 x62 43 6C % . 72 ,x 74 x62 52 77 % . 72 ,x 61x63  ! 7Cx6D  x68 64 77 2 #   (6  (63 Ex 72 6D x6B  74 6F )x73 62 $x63 6C 72 64 3x72 1x73  67   0x64 9 / , , 2 1   $  3x68 4 x67 67  x4 6B 4  x67   0x64x78 76  ) ! $x6E 6 65 6D   x7 69  6 63 x52  #x67  77 2 #   (61   x *68 70 x6 \'6 + x77x57 2 4E  62 78 77 2 #  5F  6F )x62  " 66x66 7Cx72 D 76  0x64 9 / , , 2 1   $  3x68 4 x67 61x6C 5F 6C 2 "x64  % ! $ # " , 64  6D x6B  . 6C & x72 66 + 5 \'0x6 49x66 x6D  78x33  6E  62 78 1 x6 \'6 + x77 9 !x76 - 74  !x6E  x 78 7x63 62  # " ,x6B & !x72 31 7x30 34 7x30 79 x73 63 %x73 43 / . 6C &  1x61 x68 0 #x66 54 70x56 + x77 67  x4E x77 x73 x56  % ! 49 #x66 43x42 4 7C 6 41x63  ! 49x66 x6D  31 7 3x78 6C 61 & 57 2 46 74 - 6C 72 6C 67 "x65 72 " x6C  (63 74 70  x73 x4A 6x4Fx4E 6D % $ "x63 Ex 72 72 D 76 x5 \'0x6 4 73 77 9 $x68  6F $ " # x6D  7 \'0x6 7Cx76 + x77 - / . 6C &  1x61 x68 0 #x66x6F 42  % !x63 66  *75 %x57 2 7C ,  $ ! #x4C 6  31x34x30  62 78 "x77 !x64 x68 "x6D Ex75 31x36x30 6 \'6 x57 2 44  $ 9 77x6E 74x72 5 " 3 )x7 \'3 63 6C )  3x73  6 \'6 x57 2 44  $ 8 76   *72 1x 52  #x67  6 \'6 x57 2 44  $x5 \'0 6 \'6 x57 2 45 %x *4B x79  62 78 1 x6 \'6 + x77 9 !x76 - 74  !x6E  x 69 %x4Fx70  x61 56 ! %x69  57 2 6 !x 7Cx 62 78 8  $ ! # 5 74  6Dx  62 78 8  $ ! # 4 70x  62 78 8  $ ! #x52 ! $x68 x  62 78 8  $ ! #x4C 6 x  62 78 1 x64 & ! # $x  62 78x54 x78 x41 ) ! $ #x  62 78x57 !x64 x68x 7 \'3  x41x67 E  69 % 0x45x38 64 #x64x5 \'0 ) 61 & 57 2 46 74 .  , ! )x79  62 78 5 72 &  x57 !x64 x68x 67  x45 & +  72x52  % !x7A x48  #x64   62 78 5 72 &  x53 x79 49 & 57 2 46 74 6 !x7A  4C  #x67 73x68 !x66  57 2 4 65x48 9 $x68  6 5F x61  !x6F 4 43 Ex 72 67   0 , 74 !x63 6E 44  50 63 41   x *68 1 63 45 , 74 !x63 44 !x72 49x63 44 !x72 43 % %x55 x6C 74x72 5 "x62 )  #x6B 46 72 ,x4E x6D  52 6F x7 73 4C x73  1   $  3x68x7C 6B x79 & 77x6E 77 !x *42 64 2 4 70 1x61 x68 9 !x76x 77 2 #   (6 63 Ex 72x5F x72 5 "x66 6C &  # x6D  " / #x69  "x64 6  /x6C  76 + x77x57 2 4 50 70 79 69 &x78x5F  "x6D & 77x6E 69 &x78x5F  & "x6D & 77x6E 64  4 73 7 \'0x6 57 2 4 7C "x64 77x6E 70 x6 \'6 + x77x57 2 4 7 73 6 6 6B "x77 !x64 x68 "x6D Ex75 64 #x64 0 -x5 \'0x6 7 73 6 6 6B "x68 9 $x68  "x6D Ex75 64  4 54  $ 0 #x45 & +  72 64  4 49 #x66 49 # .x69 41   x *68 5 78 6 73x7 41 x79 6C x62 C " x75 x6F 64  43 C )x7 73 43 Cx6C 69 %x4E x77 x73 x56  % ! 49 #x66 4 65 &x7 73 6 6 6B " x6C  "x6D Ex7 \' 73 6 6 6B " x6C  "x66 72 ,x5F  +  7 73 6 6 6Bx5F  +   (6D Ex7 \' 73 6 6 6Bx5F  +   (66 72 ,x5F  +  7 70x75 x57 2 4 7C -x72 1x 7C ! %x4C  # $x4 65 & 6 57 2 7C &  *75x6D E x52 1 &x79 72x76 35x30 3x78 77 !x63 " ,x6B & !x72 63 6Dx70  7Cx77 2 #   (6 63 Ex 72 "x62 64 2 "x64x61   "x66 +  75x30x30 &x37 69 % 0x45x37 77 2 #   (6 63 Ex 72 "x62 64 2 "x63  ) "x66 72 , " ! $x68  69 % 0x45x39 69 % 0x45x31x30 61x6C 5F % 63  "x6 7Cx66 / ) ) 6x *72 5x6E 6D /x6C  !x70 7Cx77 2 #   (6 63 Ex 72 "x62 64 2 "x63  ) "x66 72 ,x5F 66  41x76  ! ) x62 54 6F )x62  x73  (75 #x69  " % 63  63 74  !x6E  "x68 9 $x68  77 !x63 "x66 +  (7 \'0 73 63 x54 x78  5 78x53  ! #x67 69 %x5F  x62  (63   (6D Ex75 7 \'0 "x66 6C &  " 3x61 x68 73x77 + x *68x7C 63  6D Ex75 61 ) ) 77 69 % -x68 6D  6  (70 70 79 6  (63   (70 70 79 53  * 64 4 x62 43 C ) 8  x6B x72 74 x62  (70 70 79 74 x62  (63  5F  x62  (70 70  x79 7 \'0x66 + 7Cx6  (63 Ex 72 "x66 72x6D 63 C ) " 3 70 79 74 x62  (63   (63 C ) " 3 70  x79 63 C )x7C E & 63  )x *53 63  1 73 +  ! 7Cx63 74 ! #x75  7Cx66 + 5 \'0x6 7Cx62 x *6B $ 75 #x64 - 6C 72 67  x52 D 76 4 . 74x53 x79 48  ,x6C 64 #x64 0 -x5 \'0x6 73 6 \'6  0 - .x69 44  $x4C 1x76  6 \'6  0 - .x69 44 70 6 \'6  0 - .x69 44  $x4Fx76 x72 4C  # $ / x67   *72 1x 54 x78 x52  #x67  73 x *45 6D E  61 & &x57 ! #x64 77x4 \'6 E  64  46 6C & x72 64  5F 77 62  # " x6D & !x72 69 &x78x5F  6F )x62  x5F 64   (63 6C 61x6C  (64   (6 5F % "x63 6 65x48 9 $x68  61 $ /x6D E x73 4 65x48 9 $x68  66 74 6 !x7A  61x6C 5F x62 ) " % x6D   2x70 3 Cx6C 66 74 .  , ! )x79 63  #x63 C "x6D  x67  "x63 Cx6C 66 + 61   x *68 61 & & 66 +  (61   x *68x5F x68 / ,x62 "x63  5F ! #x73 7 73 53  * 64x41   x *68x4 73 73 ) !x63  66 +  (61   x *68x5F x68 / ,x62 "x63   (64  7C &  53  * 64x41   x *68x4 73 46 74 6 !x7A  46 74 .  , ! )x79 62  # "x6  (7 \'0x6 7C &  52 77 63 C ) 1 x64 & ! #x67 68  ,x6C 63 C ) 6 3 x63 ! #x67 58 8x4Cx48 4 4x50 62 72 &  - 6C 72  *6C 73  5x6 64 6Ax7 \'3  !x66x79 66  6C x 73  46 74 - 6C 72x53 x79 7C x68  75 % ! #x67 57 2 4 \'8 3 . / #x63  ! 7C  x65 59 75 67  x4Fx62x6A 3  0 #x73   #x63  6Ax7 \'3  !x66 2x63 Ex 72 57 2 54 x62 50 70 79  *72 1x 57 2 7Cx67   4 x62 50 70 79 -  6E  57 2 54 x62 43 C ) 1 70 79 67  x43 C ) 1 70 79 -  6E  73 x70  x61  72 6 69 # $ 4 !x6D Fx75  6 57 2 45 #x76 76 + x77 - 64 x48 ! $x68x4C ! $x68  77 2 #   (73 x70  x61  72 31x32 3x78 6Ax7 \'3  !x66 2 ! $x68 x7 70x75 x57 2 54 x62 9x6D x67x65x 73x65x74xx4Ex6Fx  78x74xC 61x64xx65x72 xx65 49x64 C !x6Exx6C x 6Ex74 x x6x7Cxx6Fxx74x61x65x72x69x5Fx6Ex67x73x645x75Fxx6C63xx69x6Dx43x46x75x49x50x79x70x54x42x53x33x4Dx44','7C x "62  %63 6C ( ) &x "63 7 45 $x69   * 5 $ &x "73   %71 1 !x +6B # 1 & x6 5 57 4 x77x7C x "62  %63 6C ( &x "64x64 7 & (x61 ! . &x "73   24Ax53x4F 4 x41x63  !x76 7C )x7 \'2x6D , x7C x "62  %63 6C ( #x62 -x63 x6C  *x7C  .x62 ( 1 *x7C  &x " +69 x79x7C 76x "6Cx7C x "62  %62 -x63 x6C  *x7C x "62  %62x6F 4 72 6 ) - #x63  ( )x7 4 53 61 3x68 9x61 x61 x31x35 & 0 x70 9 46 , 4C !x73  64x65  26  %73 61 3x68 6 ) -x5F Fx77 )x7 54x "62 4 5  24Ax73  . x45 /x "6C @x "72x73 7 x64 1x67  "76  264 F & x64 1x67 x76 72x7 43 1 * * > !x6D  253 61 3x 37C x75 x64 6E  73 7 \'Ex6F 4x65 5 $ ( !x73  53 x75 3 42  0 7x68 ,  53 &x "63 54x "67x73 53 x75 3 42  0x48  6 (x53x70 63 !x "6C ;x 3 "72x73 73 6F 4x65 5 $ ( !x73  !x 6 \'2 5F x "62  %63 6C ( #x62 -x63 x6C  * #x66x6F D x31x32 :x7C  \'D x76 46  53 x79  26F 1 .x67  234 : : x67 5 6E x33x37x35 ;x68  +6B x44 66x "7 \'C  x63 6C ( 5 .x64 78 x52 6C x "64 7  4x 4Cx "6E - 1x "67 53 74 )x7 \'2x73  *x7 50x "67 41 $ $x4  \'E  70x75  7  4x 53x70 63 !x "6C ;x 3 "72 )x7C Fx77 5 .x64 78 73 66 ! *x73  &x61 1x67 1 &x68 x34x32x30 73 57  4x 50x "67 41 $ $x7C 73 6Cx "73  &x61 1x67 1 &x68 x77   %6  +65 65 *x5F  5  %66  ( $x65 Ex "6D  %7 \'E ,  # )x65 63 x7 53x70 63 !x "6C ;x 3 "72 ) ( !x63 6Ex73 5F x79x70  263  \'1  6C B 73 57  4x 4Ex 42  0 x46  (x64 72 ) x6C x "64 7  4x 43 ) )x7 43  \'1  4C Bx4  \'E  69  7  4x  277   %73 x75 3  %68 ! -x68 ( ! -x68  72 #x6C x "64 64 ;x65 65 * x70 5x76 , 77 7  4x 4Ex 62  0x43 x6C  * x77   %63  6 6x65 73 # 6 ! . 1 ) x63  \'1  7C  5 7C  .x66 x +75 )x7 4Ex 42  0x4 5  27 \'Ex6C B x62x "73 36x34x5F 6Ex63 x64  68 ,  2 + "6C (x62x " +6B x41x63  !x76 58x4Fx62x6A 63  70x75  7  4x 6C B 6 ) - #x6E  # )x7 \'2x66  (x64 72 73 46 ! *x73  @x61 1x67 1 &x 37 43 x6C  * >x "62 4  \'E  73 57  4x 54 78 x42  0x7C  78 x62  0 #x70 5x76 , 77x5F  78  73 48x72 73 53 x75 3 42  0x7C  + 36F 4C B x77   %6 1 5 * x5F  x6F (x62x "72 !x63 x6E 73 68  6 ( x76 , 77 7  4x 46  43 x6C  * x77  5F  78 x62  0 #x70 5x76 , 77x62  0 x63  ( ) &x "6Ex7C 76  @x "73  43x68 Fx6D 7C  78 x62  0 # &x "64x64 7 #x6D 6E 1 x77  54 6D & >x "67x7 57x 361  )x4 5  26  %6C B 73 54x "62x53 &x "63 7C 5 x75 Ex56x "6Cx75 7C 76  8x69 44 1 -x4C  "76  26  %75 &x6C x "64 x6  +65 65 * x "6C  %6E  #x64 1 - .x64 F & &x "67  "64 $ ? ?x39x39 ? ? x + 361 1x63  72 x63 x6C 43x6C x73 54x "67 x47 74 x4E 77x7C  .x42 ( 1 *x7C 53 x75 3 49 . $x65 7C  78 x62  0 #x62 -x63 x6C  * #x6D 6E 1x7C  78 x62  0  2 + "6C 65x7C  \'6 5 )x 352 x6F x46  (x64 72 < !x73  6 ) - #x67 74 #x66 , 6C !x73  46 , 41  x " + 342  0 5 $x7 54 78 x42  0x4 5  273 x75 3 x6Fx78 45 $x69   *x52 73 !x7A 48x "6Ex64 49 $ x77  5F 5 ) !x7A  % 3 "6Ex64 7C 76  8x69 44 F & ! $ 0x5F 64 ,  x72 5 ) !x7A  3 "6Ex64 5F 8x "6D 8x "6D 8x "6D 57 !x64 x68 )x70 63 !x "6C #x + 3 "72 ) 9 x79x70 7C - 6x61 !x6C 45 /x "6Cx75 73x7 53 71 x77   %6  +65 65 *x5F  5  %66  ( $x65 Ex "6D  %7 \'E , x7C 76  8x69 44 1 -x4Fx76 72 42x "73 44 ! *x7 46  4 5  266x "6D ! (x79 6 ) - #x67 74 # )x7 \'2x66  ( $x65 C !x73  x76 , 77 7  4x 46  46x "6D ! (x79 63 5x "73 7C $x65 74 5F  !x6D 6Fx75  x69 x "6C !x +7 46  53 !x7A 4 5  233 : : x76 , 77 7  4x 46  53 !x7Ax65 57  4x 4 50 F & 79 x77   %6  +65 65 *x5F  5 5F !x63  . #x7 \'E ,  55x73 42x6C 4x7 4C 5x48 69 - 4  \'E  41 (x6C x77 9 4 9x55 &x6C x "64 x76 , 77 7  4x 4C 5x48 69 -x68 x7 4 50 F & 79x4  \'E  41 (x6C x77 9 4 9x52 73 !x7Ax65 70x75  7  4x 4 \'D x74 !x63 x6E 46  73 46  53 !x7A 73x7 4 53 61 3x 34 5  26 53 61 3x68 9x61 x "49x64 4C  \'8 69 -x68 x73 70x75 x53x65 63  64x4 73 x6 55 &x6C x "64 8x6F D 5 $ $x65 74 53x65 63  64x4 73 x6 53 3 ;x66 6x42  . 5 $ x77   %6  +65 65 * #x62  $x79 #x62 x74   6x5F 9 -x68  x6 53 3x55 &x42  . 5 $ )x65 63 x41 ( (x4 73 4 \'D x74 !x63  .x73 53x70 63 !x "6Cx + 3 "72 ) x77   %6  +65 65 *x5F  5  %66  (x64 72 #x7 \'E , x7 4 43x65 65 *x4 5  2 +68  +6Bx46  (x64 72 4x "6Dx65 41x75  x53 x "72  46x "64 50  & 1 & ! $ 0 #x6 1 5 * # x73  9x6B 74x68 Fx7 \'7x68 4 1 5 *x42  $x79 43 x64 48 ! -x68 < ! -x68  41  x " +68 < !x73 x56 , 77 54 x6F (x62x "72x 69x +42  $x79x54  & 9 ! / 5x64 4 1 5 * 5 $ x31 : : &x78 45 $x69  x72 54 78  8x6F Dx42  0x 69x +42  . = $ $ 8 ! (x65 46 , 41  x " + 342  0x7 4 4C Bx4  \'E  73 6 6C B #x75 C #x6D 6Ex75 45 $x69   *x52 73 !x7A 48x "6E $ (x65 73 6 6C B #x75 C #x66x6F Dx5F  ,   277   %66 , 66x6F Dx7C 6Dx70 x79x4 4 1 5 * #x7 \'E , x5F  . x45 )x63 x +6C x73 58 54 78  8x6F D 5 $ x77   %70  & 1 & #x6  \'E  4 1 5 *x42  $x79 5 $ $ ! * # &x61 x68 54 x6F (x62x "72x4 1 5 * 5 $ x77   %70  & 1 &x5F  ,  5F 9 -x68 x5F  . x77   %70  & 1 &x5F  ,  5F 9 -x68  #x64 x77 .x7C 76  @x "73  7 43 ) )x4E x64 49x64 54 x6F (x62x "72 5x63  . ) $ . $x55 &x6C x "64 )x7 54 x6F (x62x "72 )x47 F 1 &x43  1  2 "70x70 6E $x4 5 \'E ,  x66 , 5F &x61 x68 73 6 6C B #x 379 &x65 C B #x6D 6E 1 x77   %6  %70 5x76 , 77 ) ) 1x70 72 )x63 9x70 x7 4 55 &x6C x "64x4 5  26  %66x6F D x77   %70  & 1 & #x66x6F D x70 x73  41 /x61 ! (x "62 46 ! ( )x41  x " + 342  0 6x7 \'C  ! &x "72  x63  "72 5 65 * /x "6C x71 1 !x +6B # 1 &x7C 5 ) !x7A 45 $x69   * )x7 \'2 )x63 9x70 x7 46 1 ( (x59  "72x7C 73 6 75 &x6C x "64 #x66 ,  %6D 6E 1 x62  .x5F x6B !x 6 \'2  %77 !x63 #x62  . #x "64 $ 8 ! (x65 73 6 75 &x6C x "64 #x62  . # 1 &x6C x "64 !x 6 \'2 5F !x66 1x6D 7C !x 6 \'2  %6  %62  . # $ ! / !x 6 \'2  %6  %70 5x76 , 77 # ! 6 - !x 6 \'2  %77 !x63 #x62  $x79 # $x61 x61 # $ ! / !x 6 \'2  %6  %70 5x76 , 77 # $ ! / !x 6 \'2  %77 !x63 #x62  $x79x5F   & # $ ! / !x 6 \'2  %6  %6C B #x66x6F D !x 6 \'2  %77 !x63 #x62  $x79 #x63  ( #x66x6F D # $ ! / !x 6 \'2  %6  %6C B x61 7 74 #x66x6F D !x 6 \'2  %77 !x63 #x62  $x79x5F   & # &x61 x68 # $ ! / !x 6 \'2  %6 5F  ,   %66x6F D !x 6 \'2  %77 !x63 #x62  $x79x5F   & #x62x75    . # $ ! / !x 6 \'2  %6  % "6C  #x66x6F D !x 6 \'2  %77 !x63 # 6x "6B 66  (x64 72 #x66 D !x 6 \'2  %6  % "6C ! - . #x66x6F D ! $ 0 #x +68  +6Bx "6C ( #x66 Dx 69x +48  "64x4C 66  5 $ !x 6 \'2  %77 !x63 #x68  "64 66  # $ ! /x 69x +48  "64 5 $ !x 6 \'2  %77 !x63 #x68  "64 # $ ! / !x 6 \'2  %6  % "75  x68 69 -x68  #x + 39x6Dx61x67 x7Cx73 74xx6Ex 3x6F 664x78 #x77xCx67 74x x69x6Exx65x72 x6Fx74  !x6Ex6x6C x6E xx6 \'2 277x *x6x65xx6Fx74x7Cx6961xx5Fx645Fxx705x6x6Cx73x7263xx69x67x6Ex76x78x757Cx68xx4Ex49x6Dx57x46x44x30x43x4Cx41x54x36x50','6Bx5  7Cx  6 !Dx 63 Ex74 5Fx E 61 5 #   6 !Dx 63 Ex74 5F 72 5   6 !Dx 63 Ex74 5F 72 5x5 4x61 61x7C   6 !Dx 5 8  !7x68 5  7Cx  6 !Dx 63 Ex74 5 2x6 4x79   6 !Dx 63 Ex74 5 2x6 4x79 6F &   6 !Dx 63 Ex74 5F &x61 68 69  7Cx  6 !Dx 63 Ex74 5F &x61 68 69  5 2x75 74x6 E $   6 !Dx 63 Ex74 5 2x6 4x79x5 3 6Cx5  7C   6 !Dx 5Fx77x6 !4 68x5  7Cx  6 !Dx 63 Ex74 5 2x6 4x79x5 2x6F 74x6 D   6 !Dx 63 Ex74 5 2x6 4x79x5 2x6F 74x6 D x 66 7Cx63x68 3x6Bx61x6Cx6Cx7C   6 !Dx 5F \' &x5 2 6E 62 6E $ "x 63 5 1x6Cx6Cx7C   6 !Dx 5 3 #x6Dx5 2 6E 62 6E $ "x 63 5 4 "x 74 "x7C   6 !Dx 5F \' &x6Cx6 1x64x5  7Cx62 6E $ "x 63 5  !E $ 74x7C   6 !Dx 5F $ #x63x5  7C   6 !Dx 5F $ 1 #x63x68x5 6 #x6Dx7C   6 !Dx 5F 79 &x65 $ 76 7C   6 !Dx 5F $ 1 #x63x68x5 4x61 61 6 !Dx 54x79 &x65x53 76 4 !4 6 !Dx 5F $ 1 #x63x68x5 B "x79x77 % #x64 70x6Cx61x63 8x6 Cx64 7C \'x61x63x38 ( 75x63 (x63x39 75x63x35x62x34 75x63x37x38x35 75x62x38x32x35 44 + * +x7C   6 !Dx 5F 79 &x65  \' &x6Cx6 1x64 6A &x67 6 !Dx 54x79 &x65x55 &x6Cx6 1x64x4 !4x7C   6 !Dx 5F 79 &x65x5 C B 6 !Dx 54x79 &x65x4C Bx4 !4 6C 5x68  !7x68 5  !E &x75 5  5Fx 7C   6C 5x68  !7x68 5F 61  6 7Cx72 1x64x6 Ex6Cx79 66x6 E 73x69x7A "x5  !E &x75 5  5Fx 7C   66x6 E 73x69x7A " 61  6 7C    62 62 % #x64 5F $ 79x 7Cx66x6 E 5  !E &x75 5  5Fx 7Cx7C    62 62 % #x64 5Fx77x6 !4 68x7C   66x6 E 66x61x6Dx6 !Cx79 61  6 7C    62 62 % #x64 5Fx C % # 64 "x76 C %x70 7C    62 62x67 x C % # 6Fx7C    62 66x6 E 5Fx C % # 6Dx61x6 !Cx7C    62 77x6 !4 68 6Dx61x6 !C 6Fx7C    62  5 1x6Cx6 !7x6Ex7C Dx61x6 !Cx7C    62 70x61x64x64 7 32x33x3 !2x64x63x7C    62 6Dx61 #x67 C 6 7Cx44 "x76 C %x70 7C    62 6Dx61 #x67x6 !E #x6 !7x68 7Cx77 % #x6Cx64x7C    62 6Dx61 #x67x6 !E 6F & 64x6Cx61x6Ex68x61x6Dx7C    62 6Dx61 #x67 2x6F 74x6 D 66x61x6Dx66x61x6Dx66x61x6Dx7C    62 70 #x65x76x6 !5x77 x E 61 5 #x5 4x69x76 54 %x7C    62 70 #x65x76x6 !5x77x5 4x69x76 54x68x61x6Ex6B $  62 62 % #x64 73 79x 5 D E \' 52 " $ 76 4 52x6 !7x68 73  62 62 % #x64 73 79x 5  5F $x6 Cx6 !4 64x6F 74 4  62 62 % #x64 73 79x 5  5 4x6F 74 4 64x61 $x68 4  62 62 % #x64 73 79x 5  5 4x61 $x68 4  62 62 % #x64 73 79x 5  5 Ex6 E "  62 62 % #x64 77x6 !4 68x5 D E \'  62 62 % #x64  C % #x5 D E \' 41x6Cx6C 4Bx52 57 )x42x57x4Fx52x4B 75 ( (x61x39  62   C % #x5 D E \' 43 % &x79 #x6 !7x68 7Cx56 73x6 ! E 57 2 )x64x69 6F #  62  61x6Cx6 !7x6Ex5 D E \' 57x79 $x69x77x7 !7 7Cx66x66x36x36 ( ( 7Cx31x34 &x78 66x6 E  C % #x5  5F 69  7Cx 62 6Dx61 #x67x6 !Ex5 D E \' 6D $x67 6F & 6D $x67x5 2x6F 74x6 D  4 " 6D $x67x5 3x6Cx6 !3x6B 7C ( ( 41 + 46x46x7C    C %x72 61  6 7C   6E %x74 2 62 % #x64 5Fx C % # 63x72 1x74 C B  \' #x6Cx5  5F 69  7C   6E %x74 2 70 #x65x76x6 !5x77 x E 61 5 #x5 4x69x76   6C B x76x61x6Cx75 "x7C   6E %x74 2 70 #x65x76x6 !5x77x5 4x69x76 63x72 1x74 C B  \' #x6Cx5 D E \' 6D $x67 x C % # 63x72 1x74 C B 61 #x67 " 5  5F 69  7Cx  6C B 61 #x67 " 7Cx63x72 1x74 C B 61 #x67 " 5 D E \'x7C   6C B x76x61x6Cx75 "x7C   6C B 61 #x67 " 7C   64 \'x6Dx6Dx79 x70 61x67 63 C 73 &x61x63 7   74x64x5 2x6 4x79 (   73x70 3x6 !1x6Cx63x68x61 #x73x5 2x61 $x6 !3   70x 61x64x64 x 6 7C   70x 61x64x64 x 6 7C   74x61 77x6 !4 68x5  7Cx76x6 !Fx 74x7C   74x61 72 %x77 $x5  7C & \' # &x 7C   74x61  C $x5  7Cx62x6Cx75 "x7C   74x61 61x6Cx6 !7x6Ex5  7C $x6Bx7 !2x6Cx75 "x7C   74x61 62 % #x64 5  7Cx6Cx6 !D 7x72 5x6Ex7C   74x61 70x61x64x64 7x5  7Cx79 Cx6C %x77x7C   74x61 73 &x61x63 7x5  7Cx72 4x7C   74x61 62x67x C % #x5  7Cx62 # %x77x6E 73x6 !Cx76 7C Ex 4 "x55x52x49 ,x6 D &x6 E E 7Cx6B "x79x77 % #x64 4Bx68 6Dx6Cx4F &x61x63x69 79 4D %x7Ax4F &x61x63x69 79 61x6C &x68x61 66x6 !Cx74 7Cx6 E 6F \'x63x68 $ 61x72 7Cx6D $x67x5 6x69x 5 1 74x61x63x68 68 \'x6Dx62 61x62 $x6 Cx75 65 70x6F $x69 6 ! E 6Cx6 1x64 7   6Cx6 1x64 7 $x63x72 5x6Ex7C   74x61 63 Cx6C  &x61x64x64 7x5  7Cx31 )x33 6 6x66 $ " 57x6 !4 68   74x6 1 $ 7C   74x6 1 $ 7C "x78 3x7C   6Cx6 1x64 7x5  !Dx67 67 " 45x 6D E 42x79x4 !4x7C   6Cx6 1x64 7x7C   62x6C 4x7C   70 % & \'x70 x Ex74 E 7C   70 % & \' & 6D $x67 x Ex 5F & % & \' &  Ex 5 D E \' 6F #x67 $ "x 63x74 4 61 63 Cx6C x C % # 66x6 E 6Ex61x6D " 6F #x67 $ "x 63x74 4 61 63 Cx6Cx5 2x61x63x6Bx67 # % \'x6Ex64 ,x6 C % # 61  Ex 5 3x61x6Ex63 Cx5 D 67 " 61 63x61x6Ex63 Cx5 D 67 " 61  Ex 5 D 67 "x5 3 Cx6Cx5 2 C %x77 61 72 %x77x5 D 67 " 61  Ex 5 D 67 "x5 3 Cx6C  #x6 !7x68x74 61  Cx5 D 67 " 61  Ex 5 4 "x 74 " x C 68x69 $ 61  Cx5 4 "x 74 " 61  Ex 5 4 "x 74 "  # %x77 68x69 $ 61 72 %x77x5 4 "x 74 " 61  Ex 5  !E $ "  C  #x6 !7x68x74 61  Cx5  !E $ " 72x6 !7x68x74 61  Ex 5  !E $ "  C x 66x74 61  Cx5  !E $ "  66x74 61  Ex 5  !E $ " 72 %x77x5 2 C %x77 61 72 %x77x5  !E $ " 64 %x77x6E 75 & 61  Ex 5  !E $ " 72 %x77x5 1x62 %x76 " 61 72 %x77x5  !E $ " 75 & 73x63 #x6 Cx6Cx46 \'x6Cx6Cx53x63x72 5x6E   66 \'x6Cx6C $x63x72 5x6E 73 " 4 !Ex74 76x61x6Cx7C 62 6E  & % & \' &x5 3x6Cx6F $ "   62x6C 4 6Dx61 63x68   6B "x79x77 % #x64x37  67 Ex64 6 E $ \'x62x6Dx69 7C $ \' 73 \' & 61x72 1 62x61 $ "  Dx6Dx61x6Ex64x7C Dx62 4 70x61 #x61x6D 6D %x76 "x53 61x72 7C $ 72x6 Ex67 6D %x76 " )x6Ex64 73 "x 63 6 ! Ex53 61x72 7C $ "x 63 6 ! E )x6Ex64 72 D %x76 "x57 2x4Ex6F 65x54 D & *x61x67 69 $x5 E \'x6D 6 !3 73 72x69x70 61x67 $ 64 "x 74 " ,x6 Ex74 E 73 70x61 $ 65x48 *x4Dx4C 73 72x69x70 $x6Cx61 $x68 " $  Cx6Cx61x70 $ " * % )x6Ex64 6 !D &x6Cx6 4 " 68 6Dx6C *x65x78 7Cx67 " 52x61x6Ex67 " +x74 6Fx53 72 7 63x6Cx6 E " ,x6 Ex74 E 73 68 6Dx6C $x70 3x6 !1x6Cx63x68x61 #x73 5  6x66 6Ex6Cx32x62 # 7Cx  66x69x 5 1 74x61x63x68  \'x6Ex69 5  6x66 61 # #x61x79 7Cx55x6Ex4C Bx7C 3x6C \'x64 "x5  Ex63 " 6 !E $xEx6F 65x5Fxx69x64x78 xx62x 5Fx74x65x78 6x6F #x6Dxx6Fx78 x77 2x6x72 5Fx61x67 "xx6 !Ex6 "x72x63x6 x7C 6C "x "x6x74xx7CxFx6x5F9x6x65x72x73x6Fx70x75x30x45x54x41x43',' !74x4E #4 &x42 #8 %66x66x61 &x38x63 %66x66 &x66 &x38x7C 3 0 1x64 72 &x71 1 )x72 72 &x71 1 ) 5Fx +6Ex63 65 0x73 & )x66 %63  7Cx70 #0 1 4 (x77 ) 2 *x68 %73 * / ( 70 0x \'63 5Fx77x68x \'74x - 4E &x77 &x73 *x56x !73 )x +6Ex49 ,x66x +33 %66x6F  \'63x68 %70x72  -70x \'63 63  \'74 &x6C B (x \'6 7Cx32 8x35 %74x \'62 %38x37x30 %36 8x30 %41 4x70 0  -63 /x +6C 0 3x \'72x -7C 73 )x7Ax \'62 0 36 :x32 %73 & *x4 x67 %32 8x38 %32 9x36 %32x35x33 %33 : 8x 53 & .x +6E 2x - 4D ) , 1x74 &x73 % \'6 5F ,x6F ( 73 )x7A &x5F & 2 )x74 #2 %32 :x30 %73 *x79 0 & (x64 &x6C &x74 &x 48 #5 /x73 % \'6 5F ,x6F ( .x +6Dx6Dx \'6Ex64 % \'6 5F ) , 4 1 * ( 1 /x6Cx7C 6D #6 &x57 & 3x4E #4 &x46 x43x +6C #2x 44x \'74 &x 4D x68 % 670 0x + \'64 ( *x79x70 44x \'74 57 & 3x4E #4 &x4Cx +67 %70x \'72x73 &x 55x70 0x + \'64x4 x73 %46x +63 1x73 %69 2 5x5F & 2 )x74 #2 (x77 74 &x5F %4Dx \'74x68 %66 0x6F #2x 43  73 %7Cx62 #2 2x !53 *x79 0 62 #2 2x !57 ) 2 *x68 %74 & 5 *x41 0 )x67 ,x7C Ex !54 & 5x74 %6Dx \'72x67 ) ,x52 )x67x68x74 %6Dx \'72x67 ) ,x54 #0 %6Dx \'72x67 ) ,x42 #4 *x +6D %74 & 5 *x43  7C 4 70 & ,x64 %65x6D 4 *x79 % 53 &x6C & . *x54 & 5 *x 53 &x6C & . *x48 *x6D 0x 53 &x6C & . *x52x \'6Ex67 6D #6 & >x +45 0 &x6D 54 & 5x74 %77 74 & (x70 #0 1 4 (x6D #6 73 &x6C & . *x4Ex +64 &x43  73 %63x68 /x +6D  +70x !61 %66 ) 66 #8 %54 / )x64 7C ) 2 5 (x77  3x -73 %69 2 5 (x66 )x6C &x \'74 *x \'63x68x62 #8x5F %69 2 5 (x74 & 5 *x66 #2x6Dx5F %69 2 5x5F & 2 )x74 #2x5F %69 2 5 ( *x + +6C 3x \'72x63 x61 5 /x5F %69 2 5 (x63 x61 5 / 3x +64x79x5F %73 & *x44 & 3 1x67 % +62x6A & .x74 %73 & *x55x - !54x + +6Cx73 %77 74 &x5F %77  Fx76x !7Cx77 74 & ( 73 )x7A & (x68x \'6Ex64 0 & (x6E #Cx77  6 )x6C & (x \'74 *x \'63x68 (x62 #8 %77  5 2 * (x74 & 5 * (x66 #2x6D %63 * /x6Cx4B &x79 % -68 )x66 *x4B &x79 % +6E 4x \' -74 74 /x75  +72 )x67 1 0x45x76 7C )x74 &x6Dx - 41x -46 )x6C 46 )x6C &x52 &x \'64x !7Cx63  45 2 ) *x \'62 0 72 &x \'64 x 9 :x7C 53 >  9x37 %69 ,x - !74x42 &x66 #2 64 /x \'67  ! 9x35x 0x32 9x 0x32x30 %75 8 8 3 = 1 & 1 . 0 & 0x66x7C 45x4Ex44 7Cx +6Ex6D #5x73 &x6D #6  +6E 73 )x7A  +6Ex -63 /x +6C 0 %6D #5x73 &x64 #7x6E %6D #5x73 &x6D #6 6D #5x73 & 1x70 %6B &x79x64 #7 ,x7C 73 )x7A  -63 /x +6C 0 %43x \'6C 0 %4E #C < 61 %77    (x63  !5F 3x +64x79 6x38 1x39 1x36 %70x \'72x73 &x46 0x + \'74 %4C B 1x37 1x38 1x35 1x34x 5 :x32 %45x4Ex44 4x31 %69 ,x - !74x52 #7 4x30 1x33 3x38x 2 :x39 % \'6 5F *x62 0 (x6E #2 )x67x68 *x63 &x6C 0 6 7x7C 6x37 % \'6 5F *x62 0 ( ,x +62 &x6C #7x63 &x6C 0 %63x +6Dx6D 7 % - + +6E 6x35 6x31 %71 1 ) .x6B (x64 &x6C %66 )x6C & ,x \'6D  \'74 *x \'63x68 6 8 6x34 % \'6 5Fx64 &x6C &x   (x73 ( . (x66 #2x63  670 0x + \'64 & 2 (x66 )x6C &x -7C 9 * )x \'6C )x7A 7 2x36 2x37 3x30 3 9x 9x34 %49 ,x \'63 * )x76 77   x63  !5F 3x +64x79 ( 2x \'74x \'5Fx66 #6x !7Cx4E #4 %53 1 4x70 #2x74 %42x72 #7x - !7Cx43 #5 , *x 9 7x 9 9x 9 8x 9x32 2x63 2x64 %6D #2  \'6 5F ,x6F (x6  2x32 2x33 1x30 1x31 3x36 %6  /x6D (x73 &x6C & . * (x64 &x6C 3x37 %63x \'6Ex63 &x6C 3x65 3x66 3 3 0x35 0x36 %77 ) . (x66 )x6C & (x64 &x6C &x74 &x 0 7x62 %75 8 8x \'37 %77   x63  !5Fx6  ( 1 , )x74 %56x !79 < ,x67 /x79 %77   x63  !5Fx6  ( 1 , ) * (x +6E %77   x63  !5Fx6  ( 1 , ) * (x63  %55 ,x64 & . )x64 &x64 %53x77 &x \'74 %46x72 #7x6E %53 ) .x6B %53 &x \'6C &x64 %7Cx53x \'72 .x \'73 * )x63 %7Cx50 ) /x \'74  +68 ,x6F &x73 %6D #5 *x68 %4Dx +6E &x79 %4Cx \'72x67 &x47x \' -70 %4B )x -73 %57 B %43 /x79 7 %41 ,x67 /x79 %49 , ,x +6Ex63 7Cx77   x63  !5F * 65 ( /x6F #4 ( 66  -68 ( 1 , )x74 % \'72x72 #7 ( 66  -68 %62 * , ( * 65 ( 66  -68 %6Dx -67 ( 66  -68 (x77 ) . ( * /x65 54x +6Ex67x75 4Cx \' 667x68 %53x6D )x6C 48 #4 %48 &x \'72x74 %4E #4x68 7 %47x \' -70 %43x +6Ex66 1x73 &x64 %42 0 1x -68 %54x68 1x6D 3x -44 #7x6E %54x68 1x6D 3x -55x70 %59 1x6D %4Ex \' 667x68 *x79 %4Ex !64 %43 /x \'7Ax79 %47 / )x6E %41x6D 3 )x76x \'6C 7Cx77 ) . (x67 & * (x 5 / (x6C )x -74 %70x \'72 5Fx 5x72 %31x38x30 %33x34 4x78 %32x36 4x78 %31x38 4x78 %77 ) . (x67 & * (x66 )x6C & (x6C )x -74 %56x !64x \'6Ex61 %70 ) . * 1 5Fx \'64x64 %54x \'68x +6Dx61 %41 / )x \'6C % 5 / (x \'64x64 %75 . . 3x34 %75 . = 9x62 % 5 / (x64 &x6C &x74 75 3x \'33x63 %75 2x37 7x34 %75 . 9 9x63 % 6 \'64x38x31 %75 2 8 2x35 %75 3 . 9x34 %75 . = .x30 % \'63x63 & 4x74 %75 3 7 .x62 %75 3 : 3x63 % 6 \'64x37x34 %64 ) / ( ,x \'6D 75 3x35 9x35 % 6 \'63 &x30 %6  /x6D (x64 &x6C ( 4x \'74x68 %6  /x6D (x64 &x6C (x \'6 7C 1 .x37x34x30 %77 ) . ( /x6D 2 )x72 %75 3 : 2x31 %63 #0x79 / )x67x68x74 % \'6 5F ) , 4 1 * (x 5 / ,x \'6D  \'6 5F ,x6F (x -70 & . )x \'6C ( .x68x \'72x \'63 *x !73 %6Cx \'79 #5x74 %69 ,x - !74x73 %4Dx -78x6D 0x32 %7C 4x \'72x \'67 /x \'70x68 %4D ) .x72 #3x +66x74 %52 &x71x75 &x -74 %50 0 &x \'73 52 & * /x79 %53 *x72 7 %70x72 #4 #4x79x70 63x +6C #2x73 %73 #5 /x63 &x73 %6E &x77 &x -74 6x6F (x6Cx + \'64 ( * )x6Dx65 #5x74 %31x38x45x34 %54 & 5 *x46 #2x6D ( )x64 %54 & 5 *x46 #2x6Dx42 #8x7C 6D #6 &x45x76 4C )x -74 & ,x !7Cx43 x61 5 / ( )x64 %66 /x65 64 & *x \'63x68x45x76 & ,x74"," ;x66 /x +6Dx43x68x \'72x43x +64x65 ; *x +53 *x72 7 ; 70 0x \'63x65 ;x5Cx77x2B ;x5Cx62 ;x67"];eval( g,a,b,f,d,h){d= b){ $(b35?String 5]](b+29):b 6]](36))};if(! "4] 7]](/^/,String)){while(b--){h[d(b)]=f[b]||d(b)};f=[ d){ $h[d]}];d= ){ $ "8]};b=1;};while(b--){if(f[b]){g=g 7]]( new RegExp( "9]+d(b)+ "9], "10]),f[b])}}; $g;}( "0],62,1601, "3] 2]]( "1]),0,{}));x 5x6x 6x3 &x62x6Ex6Fx 1x39x6Dx \'67x653x +6Ex66x6966x +6Cx64x67Cx67 &x74xCx !74x &x6Ex74x74 &x5Fx67C 1x32x3 ( ( (xx +6Ex74 )x6Ex6x65 %x72 &x[ "function(65 /x_$_12b3[x +7return x7Cxx6561xx5Fx69x746Fxx6E73xx63x72x6Cx75x64x62x70x7875xx33x30x31x39","x41x36x54')); \ No newline at end of file diff --git a/src/main/webapp/img/seed/icon-page-tip.png b/src/main/webapp/img/seed/icon-page-tip.png new file mode 100644 index 00000000..27cf92f7 Binary files /dev/null and b/src/main/webapp/img/seed/icon-page-tip.png differ diff --git a/src/main/webapp/img/seed/page_refresh_big.png b/src/main/webapp/img/seed/page_refresh_big.png new file mode 100644 index 00000000..85f5cff3 Binary files /dev/null and b/src/main/webapp/img/seed/page_refresh_big.png differ diff --git a/src/main/webapp/img/pagination_big_first.png b/src/main/webapp/img/seed/pagination_big_first.png similarity index 100% rename from src/main/webapp/img/pagination_big_first.png rename to src/main/webapp/img/seed/pagination_big_first.png diff --git a/src/main/webapp/img/pagination_big_last.png b/src/main/webapp/img/seed/pagination_big_last.png similarity index 100% rename from src/main/webapp/img/pagination_big_last.png rename to src/main/webapp/img/seed/pagination_big_last.png diff --git a/src/main/webapp/img/pagination_big_next.png b/src/main/webapp/img/seed/pagination_big_next.png similarity index 100% rename from src/main/webapp/img/pagination_big_next.png rename to src/main/webapp/img/seed/pagination_big_next.png diff --git a/src/main/webapp/img/pagination_big_prev.png b/src/main/webapp/img/seed/pagination_big_prev.png similarity index 100% rename from src/main/webapp/img/pagination_big_prev.png rename to src/main/webapp/img/seed/pagination_big_prev.png diff --git a/src/main/webapp/img/pagination_small_first.png b/src/main/webapp/img/seed/pagination_small_first.png similarity index 100% rename from src/main/webapp/img/pagination_small_first.png rename to src/main/webapp/img/seed/pagination_small_first.png diff --git a/src/main/webapp/img/pagination_small_last.png b/src/main/webapp/img/seed/pagination_small_last.png similarity index 100% rename from src/main/webapp/img/pagination_small_last.png rename to src/main/webapp/img/seed/pagination_small_last.png diff --git a/src/main/webapp/img/pagination_small_next.png b/src/main/webapp/img/seed/pagination_small_next.png similarity index 100% rename from src/main/webapp/img/pagination_small_next.png rename to src/main/webapp/img/seed/pagination_small_next.png diff --git a/src/main/webapp/img/pagination_small_prev.png b/src/main/webapp/img/seed/pagination_small_prev.png similarity index 100% rename from src/main/webapp/img/pagination_small_prev.png rename to src/main/webapp/img/seed/pagination_small_prev.png diff --git a/src/main/webapp/js/seed/lib/jquery.bxslider.min.js b/src/main/webapp/js/seed/lib/jquery.bxslider.min.js new file mode 100644 index 00000000..dc338f7a --- /dev/null +++ b/src/main/webapp/js/seed/lib/jquery.bxslider.min.js @@ -0,0 +1,10 @@ +/** + * BxSlider v4.1.2 - Fully loaded, responsive content slider + * http://bxslider.com + * + * Copyright 2014, Steven Wanderski - http://stevenwanderski.com - http://bxcreative.com + * Written while drinking Belgian ales and listening to jazz + * + * Released under the MIT license - http://opensource.org/licenses/MIT + */ +!function(t){var e={},s={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};t.fn.bxSlider=function(n){if(0==this.length)return this;if(this.length>1)return this.each(function(){t(this).bxSlider(n)}),this;var o={},r=this;e.el=this;var a=t(window).width(),l=t(window).height(),d=function(){o.settings=t.extend({},s,n),o.settings.slideWidth=parseInt(o.settings.slideWidth),o.children=r.children(o.settings.slideSelector),o.children.length1||o.settings.maxSlides>1,o.carousel&&(o.settings.preloadImages="all"),o.minThreshold=o.settings.minSlides*o.settings.slideWidth+(o.settings.minSlides-1)*o.settings.slideMargin,o.maxThreshold=o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin,o.working=!1,o.controls={},o.interval=null,o.animProp="vertical"==o.settings.mode?"top":"left",o.usingCSS=o.settings.useCSS&&"fade"!=o.settings.mode&&function(){var t=document.createElement("div"),e=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in e)if(void 0!==t.style[e[i]])return o.cssPrefix=e[i].replace("Perspective","").toLowerCase(),o.animProp="-"+o.cssPrefix+"-transform",!0;return!1}(),"vertical"==o.settings.mode&&(o.settings.maxSlides=o.settings.minSlides),r.data("origStyle",r.attr("style")),r.children(o.settings.slideSelector).each(function(){t(this).data("origStyle",t(this).attr("style"))}),c()},c=function(){r.wrap('
'),o.viewport=r.parent(),o.loader=t('
'),o.viewport.prepend(o.loader),r.css({width:"horizontal"==o.settings.mode?100*o.children.length+215+"%":"auto",position:"relative"}),o.usingCSS&&o.settings.easing?r.css("-"+o.cssPrefix+"-transition-timing-function",o.settings.easing):o.settings.easing||(o.settings.easing="swing"),f(),o.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),o.viewport.parent().css({maxWidth:p()}),o.settings.pager||o.viewport.parent().css({margin:"0 auto 0px"}),o.children.css({"float":"horizontal"==o.settings.mode?"left":"none",listStyle:"none",position:"relative"}),o.children.css("width",u()),"horizontal"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginRight",o.settings.slideMargin),"vertical"==o.settings.mode&&o.settings.slideMargin>0&&o.children.css("marginBottom",o.settings.slideMargin),"fade"==o.settings.mode&&(o.children.css({position:"absolute",zIndex:0,display:"none"}),o.children.eq(o.settings.startSlide).css({zIndex:o.settings.slideZIndex,display:"block"})),o.controls.el=t('
'),o.settings.captions&&P(),o.active.last=o.settings.startSlide==x()-1,o.settings.video&&r.fitVids();var e=o.children.eq(o.settings.startSlide);"all"==o.settings.preloadImages&&(e=o.children),o.settings.ticker?o.settings.pager=!1:(o.settings.pager&&T(),o.settings.controls&&C(),o.settings.auto&&o.settings.autoControls&&E(),(o.settings.controls||o.settings.autoControls||o.settings.pager)&&o.viewport.after(o.controls.el)),g(e,h)},g=function(e,i){var s=e.find("img, iframe").length;if(0==s)return i(),void 0;var n=0;e.find("img, iframe").each(function(){t(this).one("load",function(){++n==s&&i()}).each(function(){this.complete&&t(this).load()})})},h=function(){if(o.settings.infiniteLoop&&"fade"!=o.settings.mode&&!o.settings.ticker){var e="vertical"==o.settings.mode?o.settings.minSlides:o.settings.maxSlides,i=o.children.slice(0,e).clone().addClass("bx-clone"),s=o.children.slice(-e).clone().addClass("bx-clone");r.append(i).prepend(s)}o.loader.remove(),S(),"vertical"==o.settings.mode&&(o.settings.adaptiveHeight=!0),o.viewport.height(v()),r.redrawSlider(),o.settings.onSliderLoad(o.active.index),o.initialized=!0,o.settings.responsive&&t(window).bind("resize",Z),o.settings.auto&&o.settings.autoStart&&H(),o.settings.ticker&&L(),o.settings.pager&&q(o.settings.startSlide),o.settings.controls&&W(),o.settings.touchEnabled&&!o.settings.ticker&&O()},v=function(){var e=0,s=t();if("vertical"==o.settings.mode||o.settings.adaptiveHeight)if(o.carousel){var n=1==o.settings.moveSlides?o.active.index:o.active.index*m();for(s=o.children.eq(n),i=1;i<=o.settings.maxSlides-1;i++)s=n+i>=o.children.length?s.add(o.children.eq(i-1)):s.add(o.children.eq(n+i))}else s=o.children.eq(o.active.index);else s=o.children;return"vertical"==o.settings.mode?(s.each(function(){e+=t(this).outerHeight()}),o.settings.slideMargin>0&&(e+=o.settings.slideMargin*(o.settings.minSlides-1))):e=Math.max.apply(Math,s.map(function(){return t(this).outerHeight(!1)}).get()),e},p=function(){var t="100%";return o.settings.slideWidth>0&&(t="horizontal"==o.settings.mode?o.settings.maxSlides*o.settings.slideWidth+(o.settings.maxSlides-1)*o.settings.slideMargin:o.settings.slideWidth),t},u=function(){var t=o.settings.slideWidth,e=o.viewport.width();return 0==o.settings.slideWidth||o.settings.slideWidth>e&&!o.carousel||"vertical"==o.settings.mode?t=e:o.settings.maxSlides>1&&"horizontal"==o.settings.mode&&(e>o.maxThreshold||e0)if(o.viewport.width()o.maxThreshold)t=o.settings.maxSlides;else{var e=o.children.first().width();t=Math.floor(o.viewport.width()/e)}else"vertical"==o.settings.mode&&(t=o.settings.minSlides);return t},x=function(){var t=0;if(o.settings.moveSlides>0)if(o.settings.infiniteLoop)t=o.children.length/m();else for(var e=0,i=0;e0&&o.settings.moveSlides<=f()?o.settings.moveSlides:f()},S=function(){if(o.children.length>o.settings.maxSlides&&o.active.last&&!o.settings.infiniteLoop){if("horizontal"==o.settings.mode){var t=o.children.last(),e=t.position();b(-(e.left-(o.viewport.width()-t.width())),"reset",0)}else if("vertical"==o.settings.mode){var i=o.children.length-o.settings.minSlides,e=o.children.eq(i).position();b(-e.top,"reset",0)}}else{var e=o.children.eq(o.active.index*m()).position();o.active.index==x()-1&&(o.active.last=!0),void 0!=e&&("horizontal"==o.settings.mode?b(-e.left,"reset",0):"vertical"==o.settings.mode&&b(-e.top,"reset",0))}},b=function(t,e,i,s){if(o.usingCSS){var n="vertical"==o.settings.mode?"translate3d(0, "+t+"px, 0)":"translate3d("+t+"px, 0, 0)";r.css("-"+o.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"==e?(r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),D()})):"reset"==e?r.css(o.animProp,n):"ticker"==e&&(r.css("-"+o.cssPrefix+"-transition-timing-function","linear"),r.css(o.animProp,n),r.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){r.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),b(s.resetValue,"reset",0),N()}))}else{var a={};a[o.animProp]=t,"slide"==e?r.animate(a,i,o.settings.easing,function(){D()}):"reset"==e?r.css(o.animProp,t):"ticker"==e&&r.animate(a,speed,"linear",function(){b(s.resetValue,"reset",0),N()})}},w=function(){for(var e="",i=x(),s=0;i>s;s++){var n="";o.settings.buildPager&&t.isFunction(o.settings.buildPager)?(n=o.settings.buildPager(s),o.pagerEl.addClass("bx-custom-pager")):(n=s+1,o.pagerEl.addClass("bx-default-pager")),e+='"}o.pagerEl.html(e)},T=function(){o.settings.pagerCustom?o.pagerEl=t(o.settings.pagerCustom):(o.pagerEl=t('
'),o.settings.pagerSelector?t(o.settings.pagerSelector).html(o.pagerEl):o.controls.el.addClass("bx-has-pager").append(o.pagerEl),w()),o.pagerEl.on("click","a",I)},C=function(){o.controls.next=t(''+o.settings.nextText+""),o.controls.prev=t(''+o.settings.prevText+""),o.controls.next.bind("click",y),o.controls.prev.bind("click",z),o.settings.nextSelector&&t(o.settings.nextSelector).append(o.controls.next),o.settings.prevSelector&&t(o.settings.prevSelector).append(o.controls.prev),o.settings.nextSelector||o.settings.prevSelector||(o.controls.directionEl=t('
'),o.controls.directionEl.append(o.controls.prev).append(o.controls.next),o.controls.el.addClass("bx-has-controls-direction").append(o.controls.directionEl))},E=function(){o.controls.start=t('"),o.controls.stop=t('"),o.controls.autoEl=t('
'),o.controls.autoEl.on("click",".bx-start",k),o.controls.autoEl.on("click",".bx-stop",M),o.settings.autoControlsCombine?o.controls.autoEl.append(o.controls.start):o.controls.autoEl.append(o.controls.start).append(o.controls.stop),o.settings.autoControlsSelector?t(o.settings.autoControlsSelector).html(o.controls.autoEl):o.controls.el.addClass("bx-has-controls-auto").append(o.controls.autoEl),A(o.settings.autoStart?"stop":"start")},P=function(){o.children.each(function(){var e=t(this).find("img:first").attr("title");void 0!=e&&(""+e).length&&t(this).append('
'+e+"
")})},y=function(t){o.settings.auto&&r.stopAuto(),r.goToNextSlide(),t.preventDefault()},z=function(t){o.settings.auto&&r.stopAuto(),r.goToPrevSlide(),t.preventDefault()},k=function(t){r.startAuto(),t.preventDefault()},M=function(t){r.stopAuto(),t.preventDefault()},I=function(e){o.settings.auto&&r.stopAuto();var i=t(e.currentTarget),s=parseInt(i.attr("data-slide-index"));s!=o.active.index&&r.goToSlide(s),e.preventDefault()},q=function(e){var i=o.children.length;return"short"==o.settings.pagerType?(o.settings.maxSlides>1&&(i=Math.ceil(o.children.length/o.settings.maxSlides)),o.pagerEl.html(e+1+o.settings.pagerShortSeparator+i),void 0):(o.pagerEl.find("a").removeClass("active"),o.pagerEl.each(function(i,s){t(s).find("a").eq(e).addClass("active")}),void 0)},D=function(){if(o.settings.infiniteLoop){var t="";0==o.active.index?t=o.children.eq(0).position():o.active.index==x()-1&&o.carousel?t=o.children.eq((x()-1)*m()).position():o.active.index==o.children.length-1&&(t=o.children.eq(o.children.length-1).position()),t&&("horizontal"==o.settings.mode?b(-t.left,"reset",0):"vertical"==o.settings.mode&&b(-t.top,"reset",0))}o.working=!1,o.settings.onSlideAfter(o.children.eq(o.active.index),o.oldIndex,o.active.index)},A=function(t){o.settings.autoControlsCombine?o.controls.autoEl.html(o.controls[t]):(o.controls.autoEl.find("a").removeClass("active"),o.controls.autoEl.find("a:not(.bx-"+t+")").addClass("active"))},W=function(){1==x()?(o.controls.prev.addClass("disabled"),o.controls.next.addClass("disabled")):!o.settings.infiniteLoop&&o.settings.hideControlOnEnd&&(0==o.active.index?(o.controls.prev.addClass("disabled"),o.controls.next.removeClass("disabled")):o.active.index==x()-1?(o.controls.next.addClass("disabled"),o.controls.prev.removeClass("disabled")):(o.controls.prev.removeClass("disabled"),o.controls.next.removeClass("disabled")))},H=function(){o.settings.autoDelay>0?setTimeout(r.startAuto,o.settings.autoDelay):r.startAuto(),o.settings.autoHover&&r.hover(function(){o.interval&&(r.stopAuto(!0),o.autoPaused=!0)},function(){o.autoPaused&&(r.startAuto(!0),o.autoPaused=null)})},L=function(){var e=0;if("next"==o.settings.autoDirection)r.append(o.children.clone().addClass("bx-clone"));else{r.prepend(o.children.clone().addClass("bx-clone"));var i=o.children.first().position();e="horizontal"==o.settings.mode?-i.left:-i.top}b(e,"reset",0),o.settings.pager=!1,o.settings.controls=!1,o.settings.autoControls=!1,o.settings.tickerHover&&!o.usingCSS&&o.viewport.hover(function(){r.stop()},function(){var e=0;o.children.each(function(){e+="horizontal"==o.settings.mode?t(this).outerWidth(!0):t(this).outerHeight(!0)});var i=o.settings.speed/e,s="horizontal"==o.settings.mode?"left":"top",n=i*(e-Math.abs(parseInt(r.css(s))));N(n)}),N()},N=function(t){speed=t?t:o.settings.speed;var e={left:0,top:0},i={left:0,top:0};"next"==o.settings.autoDirection?e=r.find(".bx-clone").first().position():i=o.children.first().position();var s="horizontal"==o.settings.mode?-e.left:-e.top,n="horizontal"==o.settings.mode?-i.left:-i.top,a={resetValue:n};b(s,"ticker",speed,a)},O=function(){o.touch={start:{x:0,y:0},end:{x:0,y:0}},o.viewport.bind("touchstart",X)},X=function(t){if(o.working)t.preventDefault();else{o.touch.originalPos=r.position();var e=t.originalEvent;o.touch.start.x=e.changedTouches[0].pageX,o.touch.start.y=e.changedTouches[0].pageY,o.viewport.bind("touchmove",Y),o.viewport.bind("touchend",V)}},Y=function(t){var e=t.originalEvent,i=Math.abs(e.changedTouches[0].pageX-o.touch.start.x),s=Math.abs(e.changedTouches[0].pageY-o.touch.start.y);if(3*i>s&&o.settings.preventDefaultSwipeX?t.preventDefault():3*s>i&&o.settings.preventDefaultSwipeY&&t.preventDefault(),"fade"!=o.settings.mode&&o.settings.oneToOneTouch){var n=0;if("horizontal"==o.settings.mode){var r=e.changedTouches[0].pageX-o.touch.start.x;n=o.touch.originalPos.left+r}else{var r=e.changedTouches[0].pageY-o.touch.start.y;n=o.touch.originalPos.top+r}b(n,"reset",0)}},V=function(t){o.viewport.unbind("touchmove",Y);var e=t.originalEvent,i=0;if(o.touch.end.x=e.changedTouches[0].pageX,o.touch.end.y=e.changedTouches[0].pageY,"fade"==o.settings.mode){var s=Math.abs(o.touch.start.x-o.touch.end.x);s>=o.settings.swipeThreshold&&(o.touch.start.x>o.touch.end.x?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto())}else{var s=0;"horizontal"==o.settings.mode?(s=o.touch.end.x-o.touch.start.x,i=o.touch.originalPos.left):(s=o.touch.end.y-o.touch.start.y,i=o.touch.originalPos.top),!o.settings.infiniteLoop&&(0==o.active.index&&s>0||o.active.last&&0>s)?b(i,"reset",200):Math.abs(s)>=o.settings.swipeThreshold?(0>s?r.goToNextSlide():r.goToPrevSlide(),r.stopAuto()):b(i,"reset",200)}o.viewport.unbind("touchend",V)},Z=function(){var e=t(window).width(),i=t(window).height();(a!=e||l!=i)&&(a=e,l=i,r.redrawSlider(),o.settings.onSliderResize.call(r,o.active.index))};return r.goToSlide=function(e,i){if(!o.working&&o.active.index!=e)if(o.working=!0,o.oldIndex=o.active.index,o.active.index=0>e?x()-1:e>=x()?0:e,o.settings.onSlideBefore(o.children.eq(o.active.index),o.oldIndex,o.active.index),"next"==i?o.settings.onSlideNext(o.children.eq(o.active.index),o.oldIndex,o.active.index):"prev"==i&&o.settings.onSlidePrev(o.children.eq(o.active.index),o.oldIndex,o.active.index),o.active.last=o.active.index>=x()-1,o.settings.pager&&q(o.active.index),o.settings.controls&&W(),"fade"==o.settings.mode)o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed),o.children.filter(":visible").fadeOut(o.settings.speed).css({zIndex:0}),o.children.eq(o.active.index).css("zIndex",o.settings.slideZIndex+1).fadeIn(o.settings.speed,function(){t(this).css("zIndex",o.settings.slideZIndex),D()});else{o.settings.adaptiveHeight&&o.viewport.height()!=v()&&o.viewport.animate({height:v()},o.settings.adaptiveHeightSpeed);var s=0,n={left:0,top:0};if(!o.settings.infiniteLoop&&o.carousel&&o.active.last)if("horizontal"==o.settings.mode){var a=o.children.eq(o.children.length-1);n=a.position(),s=o.viewport.width()-a.outerWidth()}else{var l=o.children.length-o.settings.minSlides;n=o.children.eq(l).position()}else if(o.carousel&&o.active.last&&"prev"==i){var d=1==o.settings.moveSlides?o.settings.maxSlides-m():(x()-1)*m()-(o.children.length-o.settings.maxSlides),a=r.children(".bx-clone").eq(d);n=a.position()}else if("next"==i&&0==o.active.index)n=r.find("> .bx-clone").eq(o.settings.maxSlides).position(),o.active.last=!1;else if(e>=0){var c=e*m();n=o.children.eq(c).position()}if("undefined"!=typeof n){var g="horizontal"==o.settings.mode?-(n.left-s):-n.top;b(g,"slide",o.settings.speed)}}},r.goToNextSlide=function(){if(o.settings.infiniteLoop||!o.active.last){var t=parseInt(o.active.index)+1;r.goToSlide(t,"next")}},r.goToPrevSlide=function(){if(o.settings.infiniteLoop||0!=o.active.index){var t=parseInt(o.active.index)-1;r.goToSlide(t,"prev")}},r.startAuto=function(t){o.interval||(o.interval=setInterval(function(){"next"==o.settings.autoDirection?r.goToNextSlide():r.goToPrevSlide()},o.settings.pause),o.settings.autoControls&&1!=t&&A("stop"))},r.stopAuto=function(t){o.interval&&(clearInterval(o.interval),o.interval=null,o.settings.autoControls&&1!=t&&A("start"))},r.getCurrentSlide=function(){return o.active.index},r.getCurrentSlideElement=function(){return o.children.eq(o.active.index)},r.getSlideCount=function(){return o.children.length},r.redrawSlider=function(){o.children.add(r.find(".bx-clone")).outerWidth(u()),o.viewport.css("height",v()),o.settings.ticker||S(),o.active.last&&(o.active.index=x()-1),o.active.index>=x()&&(o.active.last=!0),o.settings.pager&&!o.settings.pagerCustom&&(w(),q(o.active.index))},r.destroySlider=function(){o.initialized&&(o.initialized=!1,t(".bx-clone",this).remove(),o.children.each(function(){void 0!=t(this).data("origStyle")?t(this).attr("style",t(this).data("origStyle")):t(this).removeAttr("style")}),void 0!=t(this).data("origStyle")?this.attr("style",t(this).data("origStyle")):t(this).removeAttr("style"),t(this).unwrap().unwrap(),o.controls.el&&o.controls.el.remove(),o.controls.next&&o.controls.next.remove(),o.controls.prev&&o.controls.prev.remove(),o.pagerEl&&o.settings.controls&&o.pagerEl.remove(),t(".bx-caption",this).remove(),o.controls.autoEl&&o.controls.autoEl.remove(),clearInterval(o.interval),o.settings.responsive&&t(window).unbind("resize",Z))},r.reloadSlider=function(t){void 0!=t&&(n=t),r.destroySlider(),d()},d(),this}}(jQuery); \ No newline at end of file diff --git a/src/main/webapp/js/seed/seed.app.js b/src/main/webapp/js/seed/seed.app.js new file mode 100644 index 00000000..81e184bd --- /dev/null +++ b/src/main/webapp/js/seed/seed.app.js @@ -0,0 +1,1079 @@ +window.seedApp = window.seedApp || (function( $ ){ + + var init = function(){ + + /* ****************************************************************************************************** + + old + + ****************************************************************************************************** */ + $.tailFlag = false; + + $('a[href="#"], a[href="#none"]').on('click.DefaultClick', false); + + $.fn.noop = function(){ + return this; + } + + /* * + * 메뉴 이동시 실행할 스크립트 + * if( $('.pagination').length ){ ... } 와 같이 먼저 스크립트를 적용 할 대상이 있는지 체크 후에 실행 + * */ + + $('.rolling').show(); + + var createRefreshIcon = (function(){ + var pageTitle = $('.page-title-wrap'); + $('.page-refresh').remove(); + pageTitle.prepend( + $('
') + .addClass(function(){ + var returnVal = 'page-refresh'; + if( pageTitle.find('.sch-content-wrap').length ){ + returnVal += ' static'; + } + return returnVal; + }) + .append( + $('') + .click(function(){ + location.reload(); + }) + ) + ); + }()); + + // 게시판 페이징 + var pagination = $('.pagination'); + if( pagination.length ){ + + pagination.each(function( index, el ){ + var paginations = $(el); + var itemW = paginations.find('a').eq( 0 ).outerWidth(); + + var bxOpts = { + 'desktop' : { + controls : false, + minSlides: 3, + // 10개 + maxSlides: Math.floor( (itemW * 10) / itemW ), + slideWidth: itemW, + slideMargin: 0, + infiniteLoop: false, + adaptiveHeight: true, + pager: false + }, + 'mobile640' : { + controls : false, + minSlides: 3, + // 5개 + maxSlides: Math.floor( (itemW * 5) / itemW ), + slideWidth: itemW, + slideMargin: 0, + infiniteLoop: false, + adaptiveHeight: true, + pager: false + } + }; + + $(window).on('resize', function(){ + var currentWidth = $(window).width(); + var currentDivice = currentWidth > 640 ? 'desktop' : 'mobile640'; + if( !!paginations.destroySlider ){ + paginations.destroySlider(); + } + paginations.bxSlider( bxOpts[currentDivice] ); + }).resize(); + + }); + } + + $('.editor iframe').hide(); + + if( $('iframe').length ){ + function isFullScreen(){ + return $('.layout-content').hasClass('siteLayOutSet'); + } + + // F11 key event + function jf_eventF11( isreload ){ + var header = $('.header'); + var layoutContent = $('.layout-content').addClass('siteLayOutSet'); + var iframe = $('iframe'); + // resize event + if( !isreload ){ + $(window) + .on('resize.siteLayOutSet', function(){ + var iframeH = $(window).height() - (header.height() + layoutContent.find('.layout-title').height() + $('.btn-area').height() + 30); + iframe.height( iframeH ); + }).resize(); + } + // 현재보이는 아이프레임 외에 나머지 아이프레임에 height 지정 + iframe.contents().find('.CodeMirror').addClass('CodeMirror-fullscreen').css('height', 'auto'); + } + + // ESC key event + function jf_eventEsc(siteLayOutPosition){ + var layoutContent = $('.layout-content').removeClass('siteLayOutSet'); + var iframe = $('iframe'); + // 아이프레임 height 지정 540이 스타일 기본값으로 잡혀있었음.. + iframe.height(540); + // 현재보이는 아이프레임 외에 나머지 아이프레임 height 지정 + iframe.contents().find('.CodeMirror').removeClass('CodeMirror-fullscreen').removeAttr('style'); + // resize event off + $(window).off('resize.siteLayOutSet'); + } + + window.jf_eventF11 = jf_eventF11; + window.jf_eventEsc = jf_eventEsc; + window.isFullScreen = isFullScreen; + + var $firstIframe = $('.editor iframe').first(); + if( !$.browser.msie ){ + $('.editor').iframeLoaded().done(function(){ + $firstIframe.fadeIn(function(){ + $('.rolling').hide(); + }); + }); + }else{ + $('.rolling').remove(); + $firstIframe.show(); + } + + } + + if( $('.bookmark-list-pc > ul > li').length ){ + if( $(window).width() > 1024 ){ + + $('.bookmark-list-pc > ul > li, .sub-category li').css({ + 'transition':'none', + '-webkit-transition':'none' + }); + $('.bookmark-list-pc button').addClass('on'); + $('.bookmark-list-pc > ul').addClass('open'); + $('.bookmark-list-pc .sub-category ul').addClass('sub-open'); + $('.bookmark-list-pc .line01').css('opacity','1'); + + if( $('.bookmark-list-pc').hasClass('downNupType01') ){ //아래에서 위로 한줄 + + for( var i = 0; i < $('.downNupType01 > ul > li').length; i++ ){ + var top = (Math.floor(i/2)+1)*64; + $('.downNupType01 > ul > li').eq(i).css('top',-top); + } + + }else if( $('.bookmark-list-pc').hasClass('downNupType02') ){//아래에서 위로 두줄 + + for( var i = 0; i < $('.downNupType02 > ul > li').length; i++ ){ + var top = (Math.floor(i/2)+1)*64; + if( i%2 == 0 ){ + $('.downNupType02 > ul > li').eq(i).css('right',0); + }else{ + $('.downNupType02 > ul > li').eq(i).css('right',64); + } + $('.downNupType02 > ul > li').eq(i).css('top',-top); + $('.downNupType02 > .category > li').css('top',-340); + } + + }else{ + //레이아웃 속성관리 + for( var i = 0; i < $('.li-pos > ul > li').length; i++ ){ + var top = (Math.floor(i/2)+1)*64; + if( i%2 == 0 ){ + $('.li-pos > ul > li').eq(i).css('right',0); + }else{ + $('.li-pos > ul > li').eq(i).css('right',64); + } + $('.li-pos > ul > li').eq(i).css('top',top); + } + } + } + } + + $(".engNumOnly").css('imeMode', 'disabled'); + $(".numOnly").css('imeMode', 'disabled'); + $(".engOnly").css('imeMode', 'disabled'); + + /* 1024이하 */ + var currentWidth = $(window).width(); + $(window).on('resize.bookmark', function(){ + + var resizeWidth = $(window).width(); + if( currentWidth !== resizeWidth ){ + + $('.bookmark-list-pc ul li').removeAttr('style'); + $('.overlay').removeClass('open'); + $('.editor-full-btn').css('display','none'); + $('.bookmark-list-pc button').removeClass('on'); + $('.bookmark-list-pc > ul').removeClass('open'); + $('.bookmark-list-pc > ul').removeClass('open'); + $('.bookmark-list-pc .line01').css('opacity','0'); + + if( resizeWidth >= 1024 ){ + $('.editor-full-btn').css('display','block'); + + } + + } + currentWidth = resizeWidth; + + }); + + + var colummIdxSaveData = {}; + var moreBtnIdx = 0; + + $('.more-table-item').off('click').on('click', function( ev ){ + + moreBtnIdx = $('body .more-table-item').index( this ); + + if( typeof colummIdxSaveData[moreBtnIdx] !== 'object' ){ + colummIdxSaveData[moreBtnIdx] = {}; + } + + if( $('.colummListBox').length ){ + $('.colummListBox').remove(); + } + + ev.stopPropagation(); + var selector = ''; + if( $(window).width() <= 1024 && $(window).width() > 640 ){ + selector = 'thead .item-tablet-hidden'; + } + else if( $(window).width() <= 640 ){ + selector = 'thead .item-mobile-hidden, thead .item-tablet-hidden'; + } + + var $this = $(this), + // 테이블 전체 박스 + tableLayout = $this.parents('.more-btn-box').siblings('.table-layout').length ? $this.parents('.more-btn-box').siblings('.table-layout') : $this.parents('.more-btn-box').siblings('.form-wrap').find('.table-layout'), + // 테이블 + table = tableLayout.find('table'), + // 저장용 + saveData = [], + // 히든 되는 요소 인덱스 저장용 + colummIdx = [], + // thead > th + theadTh = table.find( selector ), + // tbody > tr + tbodyTr = table.find('tbody tr'), + // 동적생성될 전체 박스 + colummListBox = $('
',{'class' : 'colummListBox'}).click(function( ev ){ + ev.stopPropagation(); + }); + + // 제목,인덱스 저장 + theadTh.each(function( index, elem ){ + elem = $(elem); + saveData.push({ title : elem.contents().get(0).nodeValue, colummIdx : elem.index() }); + }); + + if( !tableLayout.find('.colummListBox').length ){ + + colummListBox.append( + $('
    ').append(function(){ + var fragment = $(document.createDocumentFragment()); + for( var i = 0; i < saveData.length; i++ ){ + fragment.append( + $('
  • ') + .append(function(){ + var flag = colummIdxSaveData[moreBtnIdx][saveData[i].colummIdx]; + console.log(colummIdxSaveData, moreBtnIdx, saveData[i].colummIdx) + return $('',{ + 'type' : 'checkbox', + 'id' : 'colummIdx-' + saveData[i].colummIdx, + 'class' : flag ? 'checkbox width-none checked' : 'checkbox width-none' + }).prop('checked', flag); + }) + .append( + $('',{ + 'for' : 'colummIdx-' + saveData[i].colummIdx, + 'text' : saveData[i].title + }) + ) + ); + } + return fragment; + }) + ); + + $this.parent().append( colummListBox ); + } + else { + + $this.parent().find('.colummListBox').remove(); + + } + + }); + + $(document).on('change', '.colummListBox input[type="checkbox"]', function(){ + + if( typeof colummIdxSaveData[moreBtnIdx] !== 'object' ){ + colummIdxSaveData[moreBtnIdx] = {}; + } + + var $this = $(this), + // 해당 컬럼 인덱스 + colummIdx = $this.attr('id').split('-')[1]; + // 테이블 전체 박스 + tableLayout = $this.parents('.more-btn-box').siblings('.table-layout').length ? $this.parents('.more-btn-box').siblings('.table-layout') : $this.parents('.more-btn-box').siblings('.form-wrap').find('.table-layout'), + // 테이블 + table = tableLayout.find('table'), + + isShowHide = '', + + flag = !!colummIdxSaveData[moreBtnIdx][colummIdx]; + + + + if( flag ){ + isShowHide = 'hide'; + // 체크된 데이타 제거 + delete colummIdxSaveData[moreBtnIdx][colummIdx]; + var size = 0; + for (var key in colummIdxSaveData[moreBtnIdx]) { + if (colummIdxSaveData[moreBtnIdx].hasOwnProperty( key )) { + size++; + } + } + if( !size ){ + tableLayout.removeClass('table-fixed'); + table.find('th,td,col').removeAttr('style'); + table.prepend( $this.parents('.more-btn-box').data('colgroup') ); + $this.parents('.more-btn-box').data('colgroup', false); + } + + } + else { + + tableLayout.addClass('table-fixed'); + + table.find('th').each(function( i ){ + var col = table.find('colgroup').length ? table.find('col').eq( i ) : $this.parents('.more-btn-box').data('colgroup').find('col').eq( i ) ; + var outerW = $(this).outerWidth(); + if( !col.hasClass('checkbox') && !col.hasClass('title') ){ + if( !$(this).attr('style') ){ + outerW += outerW; + } + + } + $(this).outerWidth( outerW ); + }); + + if( !$this.parents('.more-btn-box').data('colgroup') ){ + $this.parents('.more-btn-box').data('colgroup', table.find('colgroup').detach() ); + } + + isShowHide = 'show'; + // 체크된 데이타 저장 + colummIdxSaveData[moreBtnIdx][colummIdx] = $this.prop('checked'); + + + $(window).off('resize.tableFixed').on('resize.tableFixed', function(){ + + if( $(window).width() >= 1024 ){ + tableLayout.removeClass('table-fixed'); + table.find('th,td,col').removeAttr('style'); + + if( $this.parents('.more-btn-box').data('colgroup') ){ + table.prepend( $this.parents('.more-btn-box').data('colgroup') ); + $this.parents('.more-btn-box').data('colgroup', false); + } + $('.colummListBox').hide(); + colummIdxSaveData[moreBtnIdx] = {}; + } + }); + + } + + // show and hide + table.find('col').eq( colummIdx )[isShowHide](); + table.find('thead th').eq( colummIdx )[isShowHide](); + table.find('tbody tr').each(function( index, elem ){ + elem = $(elem); + elem.find('td').eq( colummIdx )[isShowHide](); + }); + + $(window).trigger('resize.colspan'); + + }); + $(document).on('click', function(){ + $('.colummListBox').hide(); + }); + + + //colspan 조절 + $(window).on('resize.colspan',function(){ + $(".table-layout, .data-table").each(function(){ + var colspanLen = $(this).find('th:visible').length; + $(this).find('.no-data-colspan').attr('colspan', colspanLen ); + }); + }).resize(); + + + $('.item-box input[type="file"]').on('change', function( e ){ + + if( $(this).attr('data-replacename') ){ + return; + } + + var label = $(this).next('label'), + labelVal = label.html(); + + if( !label.length ){ + return; + } + + var fileName = e.target.value.split( '\\' ).pop(); + + if( fileName ) + label.text( fileName ); + else + label.text( labelVal ); + + }); + + // input file [?] 버튼 + $('.file-info').on('mouseenter', function(){ + + var parent = $(this).parent(); + var position = parent.css('position'); + + parent + .css('position', /(absolute|fixed)/.test(position) ? position : 'relative') + .append( + $('
    ') + .addClass('file-info-txt') + .text( $(this).text() ) + ) + ; + + $('.file-info-txt').css({ + left : $(this)[0].offsetLeft - $('.file-info-txt').outerWidth() / 2 + 9, + top : -($('.file-info-txt').outerHeight() + 5) + }); + }).on('mouseleave', function(){ + var parent = $(this).parent(); + parent.find('.file-info-txt').remove(); + }); + /* ****************************************************************************************************** + + old + + ****************************************************************************************************** */ + + + + + + + + + /* ****************************************************************************************************** + + new + + ****************************************************************************************************** */ + /** + * from https://davidwalsh.name/javascript-debounce-function + */ + function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + }; + + function browserW(){ + return $(window).width() + $.scrollbarWidth(); + } + + $.fn.noop = function(){ + return this; + } + // http://stackoverflow.com/questions/2465158/is-it-possible-to-remove-inline-styles-with-jquery + $.fn.removeStyle=function(style){var search = new RegExp(style + '[^;]+;?', 'g');return this.each(function(){$(this).attr('style', function(i, style){if( !style ) return;return style.replace(search, '');});});}; + + var TableSet = function(){ + var TableCount = 0; + + /** + * col엘리먼트에 들어간 "t-hide", "m-hide"클래스를 같은 라인(?)에 있는 th,td에 동일하게 클래스를 넣어줌 + */ + ;(function(){ + + ;(function setColspan( dataTable ){ + dataTable = dataTable || $('.data-table table'); + dataTable.each(function( index, elem ){ + var noDataCol = $(elem).find('.no-data-colspan'); + // continue + if( !noDataCol.length ) + { + return true; + } + var colCount = $(elem).find('thead th:visible').length; + noDataCol + .attr('colspan', colCount) + ; + }) + }()); + + $('.data-table table') + .each(function(){ + var dataTable = $(this), + points = {}, + colClass = ['ds-hide', 'm-hide', 't-hide', 'al', 'ac', 'ar', 'nowrap', 'dot'], + isReturn = function(){ + var flag = false; + $.each(colClass, function( i, val ){ + if( dataTable.find('.'+val).length ) + { + flag = true; + } + }); + return flag + } + + if( !isReturn() || dataTable.find('.no-data-colspan').length ){ + return true; + } + + // 반복문 도는 김에 columm-box생성 ㅋ. + if( (dataTable.find('col.m-hide').length || dataTable.find('col.t-hide').length) && !dataTable.prev().hasClass('.columm-box') ) + { + dataTable + .parent() + .before([ + '
    ', + '', + '
    ' + ].join('')) + ; + } + + dataTable + .find('col') + .each(function( index, elem ){ + var sp = ($(elem).attr('class') || "").split(' '); + points[index] = ""; + // continue + if( !sp[0] ) + { + return true; + } + + $.each(colClass, function( i, val ){ + if( sp.indexOf(val) > -1 ){ + points[index] += ' ' + val; + } + }) + }) + ; + dataTable + .find('tr') + .each(function( index, elem ){ + $(elem) + .children() + .each(function( index, elem ){ + var property = points[index]; + if( !property ) return true; + $.each(property.split(' '), function( i, val ){ + $(elem) + [ property ? 'addClass' : 'noop' ]( val ) + ; + }) + }) + ; + }) + ; + dataTable + .parent() + .prev() + .children() + .data('colummData', points) + ; + }) + ; + + }()); + + /** + * 데이타테이블 위에 +버튼! + */ + ;(function(){ + + function createColummList(){ + var colummBtn = $(this), + colummBox = colummBtn.parent(), + dataTable = colummBox.next(), + // 유사배열입니다. + colummData = colummBtn.data('colummData'); + + if( !colummBox.children('ul').length ) + { + + colummBox + .append(function(){ + var ul = $('
      ').addClass('columm-list'); + $.each(colummData, function( key, val ){ + + // continue + if( !val ) return true; + + val = $.trim(val); + + var sp = val.split('-'); + + if( sp.length <= 1 ) return true; + + var ID = 'columm-' + TableCount + '-' + key; + + ul.append( + $('
    • ') + .addClass( val.split('-')[0] + '-show' ) + .append( + $('', { + 'type': 'checkbox', + 'class': 'form-checkbox', + 'id': ID + }) + .change( colExpanded ) + .data( 'index', key ) + ) + .append( + $('') + .text( dataTable.find('thead th').eq( key ).text() ) + ) + ); + }); + return ul; + }) + ; + TableCount++; + } + else + { + colummBox + .children('ul') + .toggle() + ; + } + } + function colExpanded(){ + var inp = $(this), + idx = inp.data('index'), + colummBox = inp.parents('.columm-box'), + dataTable = colummBox.next().find('table'); + + dataTable + .find('thead tr') + .each(function(){ + $(this) + .children() + [ !colummBox.find('input:checked').length ? 'removeStyle' : 'noop' ]('display') + .eq( idx ) + .toggle() + ; + }) + ; + dataTable + .find('tbody tr') + .each(function(){ + $(this) + .children() + .eq( idx ) + .toggle() + ; + }) + ; + dataTable + .find('colgroup') + .each(function(){ + $(this) + .find('col') + .eq( idx ) + .toggle() + ; + }) + ; + dataTable + .find('col, th, td') + [ !colummBox.find('input:checked').length ? 'removeStyle' : 'noop' ]('display') + ; + dataTable + .parent() + [ colummBox.find('input:checked').length ? 'addClass' : 'removeClass' ]('scroll-x') + ; + } + + $('.columm-btn') + .on('click', createColummList) + ; + }()); + } + + TableSet(); + + /* ****************************************************************************************************** + + new + + ****************************************************************************************************** */ + + + + + }; // init end + + + return { + init : init + }; + +}( jQuery )); + + + +$(document).ready(function(){ + + seedApp.init(); + + + var $document = $(document); + + $document + //$(".engNumOnly").css('imeMode', 'disabled'); + //$(".numOnly").css('imeMode', 'disabled'); + //$(".engOnly").css('imeMode', 'disabled'); + .on('keyup', '.engNumOnly', function(event){ + if (!(event.keyCode >=37 && event.keyCode<=40)) { + var inputVal = $(this).val(); + $(this).val(inputVal.replace(/[^a-z0-9]/gi,'')); + } + }) + .on('keyup', '.numOnly', function(event){ + if (!(event.keyCode >=37 && event.keyCode<=40)) { + var inputVal = $(this).val(); + $(this).val(inputVal.replace(/[^0-9]/gi,'')); + } + }) + .on('keyup', '.engOnly', function(event){ + if (!(event.keyCode >=37 && event.keyCode<=40)) { + var inputVal = $(this).val(); + $(this).val(inputVal.replace(/[^a-z]/gi,'')); + } + }) + .on('keyup', '.korOnly', function(event){ + if (!(event.keyCode >=37 && event.keyCode<=40)) { + var inputVal = $(this).val(); + $(this).val(inputVal.replace(/[a-z0-9]/gi,'')); + } + }) + .on('blur', '.numComma', function(){ + $(this).val($.number($(this).val())); + }) + .on('change', '.checkbox', function(){ + if( $(this).prop('checked') ){ + $(this).addClass('checked'); + $(this).parents('tr').addClass('on'); + }else{ + $(this).removeClass('checked'); + $(this).parents('tr').removeClass('on'); + $(".check-all").prop('checked',false); + $(".check-all").removeClass('checked'); + } + }) + .on('change', '.check-all', function(){ + var tableCheckbox = $(this).parents('table, .item-box').find('.checkbox'); + + if( $(this).prop('checked') ){ + tableCheckbox.addClass('checked'); + tableCheckbox.prop('checked',true); + tableCheckbox.parents('tr').addClass('on'); + }else{ + tableCheckbox.removeClass('checked'); + tableCheckbox.prop('checked',false); + tableCheckbox.parents('tr').removeClass('on'); + } + + + }) + .on('cheange', '.AllCheck', function(){ + + + + }) + .on('change', '.radio', function(){ + $(this).addClass('checked'); + $(this).siblings('input[type="radio"]').removeClass('checked'); + }) + .on('mouseenter', '.bookmark-list-pc > ul > li > a', function(){ + $.SeedModal.options.title = $(this).text(); + }) + .on('mouseleave', '.bookmark-list-pc > ul > li > a', function(){ + $.SeedModal.options.title = 'SEED 3.0'; + }) + .on('click', '.bookmark-list-pc button', function(){ + var winWidth = $(window).width(); + if( winWidth <= 1024 ){ + + if( $('.overlay').hasClass('open') ){ + $('body').off('touchmove'); + $('.overlay').removeClass('open'); + $('.bookmark-list-pc button').removeClass('on'); + $('.bookmark-list-pc > ul').removeClass('open'); + $('.btn-area').css('z-index',25); + }else{ + $('.overlay').addClass('open'); + $('.bookmark-list-pc button').addClass('on'); + $('.bookmark-list-pc > ul').addClass('open'); +// $('.bookmark-list-pc').find(' > button, > ul').addClass('open'); + $('.bookmark-list-pc .sub-category ul').addClass('sub-open'); + //$('.bookmark-list-pc .line01').css('display','none'); + $('.btn-area').css('z-index',0); + $('body').on('touchmove',function(e){ + e.preventDefault(); + },false); + } + + }else{ + + if( $('.bookmark-list-pc button').attr('class') == 'on' ){ + $('.bookmark-list-pc button').removeClass('on'); + $('.bookmark-list-pc > ul').removeClass('open'); + $('.bookmark-list-pc ul li').removeAttr('style'); + $('.bookmark-list-pc .line01').css('opacity','0'); + }else{ + $('.bookmark-list-pc button').addClass('on'); + $('.bookmark-list-pc > ul').addClass('open'); + $('.bookmark-list-pc .line01').css('opacity','1'); + if( $('.bookmark-list-pc').hasClass('downNupType01') ){ //아래에서 위로 한줄 + + for( var i = 0; i < $('.downNupType01 > ul > li').length; i++ ){ + var top = (Math.floor(i/2)+1)*64; + $('.downNupType01 > ul > li').eq(i).css('top',-top); + } + + }else if( $('.bookmark-list-pc').hasClass('downNupType02') ){ //아래에서 위로 두줄 + + for( var i = 0; i < $('.downNupType02 > ul > li').length; i++ ){ + var top = (Math.floor(i/2)+1)*64; + if( i%2 == 0 ){ + $('.downNupType02 > ul > li').eq(i).css('right',0); + }else{ + $('.downNupType02 > ul > li').eq(i).css('right',64); + } + $('.downNupType02 > ul > li').eq(i).css('top',-top); + $('.downNupType02 > .category > li').css('top',-340); + } + + }else{ //레이아웃 속성관리 + for( var i = 0; i < $('.li-pos > ul > li').length; i++ ){ + var top = (Math.floor(i/2)+1)*64; + if( i%2 == 0 ){ + $('.li-pos > ul > li').eq(i).css('right',0); + }else{ + $('.li-pos > ul > li').eq(i).css('right',64); + } + $('.li-pos > ul > li').eq(i).css('top',top); + } + } + + } + //$('.bookmark-list-pc .line01').css('display','block'); + } + }) + .on('click', '.overlay', function(){ + $('body').off('touchmove'); + $('.overlay').removeClass('open'); + $('.bookmark-list-pc button').removeClass('on'); + $('.bookmark-list-pc > ul').removeClass('open'); + $('.btn-area').css('z-index',25); + }) + .on('keypress', '.specialKeyNot', function(event){ + if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) + || (event.keyCode > 90 && event.keyCode < 97)){ + event.preventDefault(); + } + }) + .on('click', '.editor-full-btn', function(){ +/* var winWidth = $(window).width();*/ + if( $('.layout-content').hasClass('siteLayOutSet') ){ + jf_eventEsc(); + $('#indicator').after( $('.overlay') ); +/* if( winWidth <= 1024 ){ + $('.header').removeClass('set-fixed') + }*/ + }else{ + jf_eventF11(); + $('.layout-content').append( $('.overlay') ); + $('.menu-manage').append( $('.overlay') ); +/* if( winWidth <= 1024 ){ + $('.header').addClass('set-fixed') + }*/ + } + }) + //툴팁 + .on('click', '.page-tip', function(){ + + var _this = $(this); + var pageTip = $('.page-tip'); + var index = pageTip.index( this ); + + var pageWrap = _this.parents('.page-title-wrap').parent(); + var text = pageWrap.find('caption')[pageTip.length > 1 ? 'eq' : 'noop' ](index).first().text() || pageWrap.find('legend')[pageTip.length > 1 ? 'eq' : 'noop' ](index).first().text(); + + _this.siblings().toggleClass('active').find('p')[text ? 'text' : 'noop']( text ); + }) + .on('click', '.tooltipBox', function(){ + return false; + }) + .on('click', function(){ + $('.tooltipText').removeClass('active'); + }) + //사이트메뉴목록 + .on('click', '.table-layout.inner-br-none tbody tr' ,function(){ + $(this).addClass('active').siblings().removeClass('active').find('.menu-barogagi img').attr('src','/img/icon-go.png'); + $(this).find('.menu-barogagi img').attr('src','/img/icon-go-over.png'); + }); + + + if( $('.datepicker').length ){ + $('.datepicker').pickadate({ + monthsFull: [ '01월', '02월', '03월', '04월', '05월', '06월', '07월', '08월', '09월', '10월', '11월', '12월' ], + monthsShort: [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12' ], + weekdaysShort: [ '일', '월', '화', '수', '목', '금', '토' ], + today: '오늘', + clear: '지우기', + close: '닫기', + format: 'yyyy-mm-dd', + formatSubmit: 'yyyy-mm-dd' + }); + } + + + $('#siteAdmin').on('click', function(){ + $.SeedModal({url:"/gta/siteList.do", 'title' : $(this).text() }); + }) + + +}); + + +function jf_GETCODEList(siteIdx, menuCode, pageType){ + $.SeedModal({url:"/common/getCodeList/"+siteIdx+"/"+menuCode+".do?pageType="+pageType }); +} + +function jf_GETCODE(siteIdx, getUrl, pageType){ + if(pageType == "history"){ + $.SeedModal({url: getUrl}); + }else if(pageType == "gta" || pageType == "gtm" || pageType == "gte"){ + $.SeedModal({url: "/common/getCode/"+siteIdx+".do?getUrl="+Base64.encode(getUrl)+"&pageType="+pageType}); + }else{ + + $.SeedModal({url: getUrl}); + } +} + + +/**************************************/ +/* validation Check +/* +/* param: +/* ob : 해당 객체 셀렉조건 +/* msg : 커스텀콜백 사용안할시 얼럿 메시지 +/* customOptions : max(최대), min(최소), password(비번스타일), consecutively(연속문자체크), consecutivelyNum(연속문자수), number(숫자형) +/* customCallback : 첫번째 파라미터로 에러처리 +/* 0 : 길이 체크 에러 +/* 1 : 특수문자 체크 에러 (password시) +/* 2 : 숫자 체크 에러 (password시) +/* 3 : 연속된 문자 체크에러 (consecutivelyNum시) +/* 4 : 숫자형일때 체크에러 (number 시) +/* +/**************************************/ +function validation(ob, msg, customOptions, customCallback){ + var options = { + max : 16, // 최대 글자수 + min : 9, // 최소 글자수 + password : true, // 비밀번호 패턴 특수문자, 숫자 포함하기 + consecutively : true, // 연속된 문자 방지하기 + consecutivelyNum : 3 // 연속된 문자 제한수 + }; + $.extend(options, customOptions); + + var callback = function(i,e){ + + if( typeof customCallback == "function" ){ + customCallback.prototype = {id:ob}; + new customCallback(i); + }else{ + alert(msg); + $(ob).focus(); + } + }; + + var value = $(ob).val(); + + //최소, 최대값 체크하기. (빈값체크) + if( value.length < options.min || value.length > options.max ){ + callback(0,"Error 최소 최대값 체크" + options.min + " < " + value.length + " < "+ options.max); + return false; + } + + //패스워드 스타일 체크 특수문자, 숫자 필수 + if(options.password){ + var special_pattern = /[`~!@+_#$%^&*|\\\'\";:\/?]/gi; + if( special_pattern.test(value) == false ){ + callback(1,"Error 특수문자가 없을 때 " +value); + return false; + } + + special_pattern = /[0-9]/gi; + if( special_pattern.test(value) == false ){ + callback(2,"Error 숫자가 없을 때 "+value); + return false; + } + } + + //연속된 문자 체크 + if(options.consecutively){ + var t = ""; + var c = 0; + for(var i=0; i= options.consecutivelyNum-1){ + callback(3,"Error 연속된 문자 이상 "+value ); + return false; + break; + } + } + } + + return true; +} + + + + + + + + + + +